createFigureLinesfunction
The constellation figures as lines for a sky of your own, faint, with the figure under the pointer at full strength and its name. strength 0 draws nothing. The figures are the package's own, from the positions of the stars:
the 88 of the IAU, or with culture a sky culture's (the Japanese sky's 昴, the Chinese sky's mansions and asterisms).
After the first call nothing is allocated by update or point (a new culture in set makes its figures once).
Import it
import { createFigureLines } from "@johnmorrisdotca/hoshi-stars/sky-labels";
Definition
function createFigureLines(settings?: FigureLinesSettings): FigureLines
Parameters
| Name | Type | Description |
|---|---|---|
settings (optional) | FigureLinesSettings | The strength and what a pick needs. |
Returns
FigureLines
The figures for this sky.
Examples
Example 1
import { createFigureLines } from "@johnmorrisdotca/hoshi-stars/sky-labels";
const lines = createFigureLines({ strength: 0.2 });
const project = (ra: number, dec: number, out: { x: number; y: number }): boolean => {
out.x = 640 - (ra - 84) * 8;
out.y = 360 - dec * 8;
return Math.abs(ra - 84) < 60 && Math.abs(dec) < 40;
};
lines.update(project, { width: 1280, height: 720 });
lines.point(640, 360);
console.log(lines.count > 0, lines.picked?.abbreviation, lines.opacityOf(lines.picked!));true Ori 1What it prints (run when this page was built)
Example 2
import { createFigureLines } from "@johnmorrisdotca/hoshi-stars/sky-labels";
import { japanese } from "@johnmorrisdotca/hoshi-stars/cultures/japanese";
// the Japanese sky, its names in Japanese: the Pleiades are 昴, named by their reading
const lines = createFigureLines({ culture: japanese, lang: "ja" });
const project = (ra: number, dec: number, out: { x: number; y: number }): boolean => {
out.x = 640 - (ra - 56.9) * 40;
out.y = 360 - (dec - 24.1) * 40;
return Math.abs(ra - 56.9) < 15 && Math.abs(dec - 24.1) < 9;
};
lines.update(project, { width: 1280, height: 720 });
const subaru = lines.figures.find((figure) => figure.abbreviation === "subaru")!;
lines.point(lines.segments[subaru.start * 4]!, lines.segments[subaru.start * 4 + 1]!);
console.log(lines.picked?.abbreviation, lines.name?.text);subaru すばるWhat it prints (run when this page was built)