ದಿನಾಂಕ, ಸಮಯ ಮತ್ತು ಸ್ಥಳವನ್ನು ಆಧರಿಸಿ ದೃಶ್ಯಮಾನ ತಾರಾ ಮಂಡಲಗಳನ್ನು ತೋರಿಸುವ ಪರಸ್ಪರ SVG ರಾತ್ರಿ ಆಕಾಶ ನಕ್ಷೆ ತಯಾರಿಸಿ. ಸ್ವಾಯತ್ತ ಪತ್ತೆ ಅಥವಾ ಕೈಯಿಂದ ಸಮನ್ವಯ ಇನ್ಪುಟ್, ತಾರಾ ಮಂಡಲದ ಹೆಸರುಗಳು, ತಾರೆಯ ಸ್ಥಾನಗಳು ಮತ್ತು ಹಾರಿಜಾನ್ ರೇಖೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.
ನಕ್ಷತ್ರ ವೀಕ್ಷಕ ಅಪ್ಲಿಕೇಶನ್ ನಕ್ಷತ್ರಶಾಸ್ತ್ರ ಉತ್ಸಾಹಿಗಳು ಮತ್ತು ನಕ್ಷತ್ರ ವೀಕ್ಷಕರಿಗಾಗಿ ಶಕ್ತಿಯುತ ಸಾಧನವಾಗಿದೆ. ಇದು ಬಳಕೆದಾರರಿಗೆ ತಮ್ಮ ಸ್ಥಳ, ದಿನಾಂಕ ಮತ್ತು ಸಮಯದ ಆಧಾರದ ಮೇಲೆ ಕಾಣುವ ನಕ್ಷತ್ರಗಳನ್ನು ಗುರುತಿಸಲು ಮತ್ತು ರಾತ್ರಿ ಆಕಾಶವನ್ನು ದೃಶ್ಯೀಕರಿಸಲು ಅವಕಾಶ ನೀಡುತ್ತದೆ. ಈ ಪರಸ್ಪರ ಅಪ್ಲಿಕೇಶನ್ ಒಂದು ಸರಳ SVG ರಾತ್ರಿ ಆಕಾಶ ನಕ್ಷೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ, ನಕ್ಷತ್ರಗಳ ಹೆಸರು, ಮೂಲಭೂತ ನಕ್ಷತ್ರಗಳ ಸ್ಥಾನಗಳು ಮತ್ತು ಹಾರಿಜಾನ್ ರೇಖೆಗಳನ್ನು ತೋರಿಸುತ್ತದೆ, ಎಲ್ಲವೂ ಒಂದು ಪುಟದ ಅಂತರಮುಖದಲ್ಲಿ.
ಈ ಅಪ್ಲಿಕೇಶನ್ ಕಾಣುವ ನಕ್ಷತ್ರಗಳನ್ನು ನಿರ್ಧರಿಸಲು ನಕ್ಷತ್ರೀಯ ಸಮನ್ವಯಗಳು ಮತ್ತು ಸಮಯ ಲೆಕ್ಕಾಚಾರಗಳ ಸಂಯೋಜನೆಯನ್ನು ಬಳಸುತ್ತದೆ:
ಬಲ ಉದ್ದ (RA) ಮತ್ತು ಅಕ್ಷಾಂಶ (Dec): ಇವು ಉದ್ದ ಮತ್ತು ಅಗಲದ ನಕ್ಷತ್ರೀಯ ಸಮಾನಾಂತರಗಳ ಸಮಾನಾಂತರಗಳಾಗಿವೆ. RA ಗಂಟೆಗಳಲ್ಲಿ (0 ರಿಂದ 24) ಅಳೆಯಲಾಗುತ್ತದೆ, ಮತ್ತು Dec ಡಿಗ್ರಿಗಳಲ್ಲಿ (-90° ರಿಂದ +90°) ಅಳೆಯಲಾಗುತ್ತದೆ.
ಸ್ಥಳೀಯ ನಕ್ಷತ್ರೀಯ ಸಮಯ (LST): ಇದು ವೀಕ್ಷಕರ ಉದ್ದ ಮತ್ತು ಪ್ರಸ್ತುತ ದಿನಾಂಕ ಮತ್ತು ಸಮಯವನ್ನು ಬಳಸಿಕೊಂಡು ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ. LST ಯಾವ ಭಾಗವು ನಕ್ಷತ್ರೀಯ ಕಣ್ಗಾವಲುಗೆ ಮೇಲ್ಭಾಗದಲ್ಲಿದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.
ಗಂಟೆ ಕೋನ (HA): ಇದು ಮೆರೆಡಿಯನ್ ಮತ್ತು ನಕ್ಷತ್ರೀಯ ವಸ್ತುವಿನ ನಡುವಿನ ಕೋನೀಯ ಅಂತರವಾಗಿದೆ, ಇದನ್ನು ಹೀಗಾಗಿ ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ:
ಎತ್ತರ (Alt) ಮತ್ತು ಅಜಿಮುತ್ (Az): ಈವು ಹೀಗಾಗಿ ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತವೆ:
ಇಲ್ಲಿ Lat ವೀಕ್ಷಕರ ಅಕ್ಷಾಂಶವಾಗಿದೆ.
ನಿಖರವಾಗಿ ಕಾಣುವ ನಕ್ಷತ್ರಗಳನ್ನು ನಿರ್ಧರಿಸಲು ಮತ್ತು ಆಕಾಶ ನಕ್ಷೆಯನ್ನು ಚಿತ್ರಿಸಲು ಅಪ್ಲಿಕೇಶನ್ ಈ ಹಂತಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ:
ನಕ್ಷತ್ರ ವೀಕ್ಷಕ ಅಪ್ಲಿಕೇಶನ್ನ ವಿವಿಧ ಅನ್ವಯಗಳು ಇವೆ:
ನಮ್ಮ ನಕ್ಷತ್ರ ವೀಕ್ಷಕ ಅಪ್ಲಿಕೇಶನ್ ರಾತ್ರಿ ಆಕಾಶವನ್ನು ವೀಕ್ಷಿಸಲು ಸುಲಭ ಮತ್ತು ಪ್ರವೇಶयोग್ಯ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತಿರುವಾಗ, ಇತರ ಸಾಧನಗಳು ಲಭ್ಯವಿವೆ:
ನಕ್ಷತ್ರಗಳ ನಕ್ಷೆ ಮತ್ತು ನಕ್ಷತ್ರ ಚಾರ್ಟ್ಗಳ ಇತಿಹಾಸ ಸಾವಿರಾರು ವರ್ಷಗಳ ಹಿಂದೆ ಹೋಗುತ್ತದೆ:
ಅಪ್ಲಿಕೇಶನ್ ಒಂದು ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ನಲ್ಲಿ ಸಂಗ್ರಹಿತ ಸರಳ ನಕ್ಷತ್ರ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಬಳಸುತ್ತದೆ:
1export interface Star {
2 ra: number; // ಬಲ ಉದ್ದ ಗಂಟೆಗಳಲ್ಲಿ
3 dec: number; // ಅಕ್ಷಾಂಶ ಡಿಗ್ರಿಗಳಲ್ಲಿ
4 magnitude: number; // ನಕ್ಷತ್ರದ ಬೆಳಕು
5}
6
7export interface Constellation {
8 name: string;
9 stars: Star[];
10}
11
12export const constellations: Constellation[] = [
13 {
14 name: "Ursa Major",
15 stars: [
16 { ra: 11.062, dec: 61.751, magnitude: 1.79 },
17 { ra: 10.229, dec: 60.718, magnitude: 2.37 },
18 // ... ಹೆಚ್ಚು ನಕ್ಷತ್ರಗಳು
19 ]
20 },
21 // ... ಹೆಚ್ಚು ನಕ್ಷತ್ರಕೋಶಗಳು
22];
23
ಈ ಡೇಟಾ ರಚನೆಯು ನಕ್ಷತ್ರಗಳನ್ನು ಶ್ರೇಣೀಬದ್ಧವಾಗಿ ಹುಡುಕಲು ಮತ್ತು ಚಿತ್ರಿಸಲು ಪರಿಣಾಮಕಾರಿ ಮಾಡುತ್ತದೆ.
ಅಪ್ಲಿಕೇಶನ್ SVG ರಾತ್ರಿ ಆಕಾಶ ನಕ್ಷೆಯನ್ನು ರಚಿಸಲು D3.js ಅನ್ನು ಬಳಸುತ್ತದೆ. ಇಲ್ಲಿ ರೆಂಡರಿಂಗ್ ಪ್ರಕ್ರಿಯೆಯ ಸರಳ ಉದಾಹರಣೆ ಇದೆ:
1import * as d3 from 'd3';
2
3function renderSkyMap(visibleConstellations, width, height) {
4 const svg = d3.create("svg")
5 .attr("width", width)
6 .attr("height", height)
7 .attr("viewBox", [0, 0, width, height]);
8
9 // ಆಕಾಶದ ಹಿನ್ನಲೆ ಬಿಡಿಸಿ
10 svg.append("circle")
11 .attr("cx", width / 2)
12 .attr("cy", height / 2)
13 .attr("r", Math.min(width, height) / 2)
14 .attr("fill", "navy");
15
16 // ನಕ್ಷತ್ರಗಳು ಮತ್ತು ನಕ್ಷತ್ರಕೋಶಗಳನ್ನು ಬಿಡಿಸಿ
17 visibleConstellations.forEach(constellation => {
18 const lineGenerator = d3.line()
19 .x(d => projectStar(d).x)
20 .y(d => projectStar(d).y);
21
22 svg.append("path")
23 .attr("d", lineGenerator(constellation.stars))
24 .attr("stroke", "white")
25 .attr("fill", "none");
26
27 constellation.stars.forEach(star => {
28 const { x, y } = projectStar(star);
29 svg.append("circle")
30 .attr("cx", x)
31 .attr("cy", y)
32 .attr("r", 5 - star.magnitude)
33 .attr("fill", "white");
34 });
35
36 // ನಕ್ಷತ್ರಕೋಶದ ಹೆಸರನ್ನು ಸೇರಿಸಿ
37 const firstStar = projectStar(constellation.stars[0]);
38 svg.append("text")
39 .attr("x", firstStar.x)
40 .attr("y", firstStar.y - 10)
41 .text(constellation.name)
42 .attr("fill", "white")
43 .attr("font-size", "12px");
44 });
45
46 // ಹಾರಿಜಾನ್ ರೇಖೆಯನ್ನು ಬಿಡಿಸಿ
47 svg.append("line")
48 .attr("x1", 0)
49 .attr("y1", height / 2)
50 .attr("x2", width)
51 .attr("y2", height / 2)
52 .attr("stroke", "green")
53 .attr("stroke-width", 2);
54
55 return svg.node();
56}
57
58function projectStar(star) {
59 // RA ಮತ್ತು Dec ಅನ್ನು x, y ಸಮನ್ವಯಗಳಿಗೆ ಪರಿವರ್ತಿಸಿ
60 // ಇದು ಸರಳೀಕೃತ ಪ್ರಾಜೆಕ್ಷನ್ ಆಗಿದ್ದು, ಸರಿಯಾದ ನಕ್ಷತ್ರೀಯ ಪ್ರಾಜೆಕ್ಷನ್ ಅನ್ನು ಬದಲಾಯಿಸಬೇಕು
61 const x = (star.ra / 24) * width;
62 const y = ((90 - star.dec) / 180) * height;
63 return { x, y };
64}
65
ಅಪ್ಲಿಕೇಶನ್ ವಿಭಿನ್ನ ಕಾಲಮಟ್ಟಗಳು ಮತ್ತು ಸ್ಥಳಗಳನ್ನು ಹ್ಯಾಂಡಲ್ ಮಾಡುತ್ತದೆ:
ಅಪ್ಲಿಕೇಶನ್ ನೇರವಾಗಿ ಬೆಳಕು ಮಾಲಿನ್ಯವನ್ನು ಪರಿಗಣಿಸುವುದಿಲ್ಲ, ಆದರೆ ಬಳಕೆದಾರರು ತಿಳಿದಿರಬೇಕು:
ಹಾರಿಜಾನ್ ರೇಖೆಯನ್ನು ವೀಕ್ಷಕರ ಸ್ಥಳದ ಆಧಾರದ ಮೇಲೆ ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ:
ಅಪ್ಲಿಕೇಶನ್ ಹಾರ್ಮಿಕ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಗಮನದಲ್ಲಿಟ್ಟುಕೊಳ್ಳುತ್ತದೆ:
ನಿಮ್ಮ ಕೆಲಸದ ಹಂತಕ್ಕೆ ಉಪಯೋಗಿಸಬಹುದಾದ ಹೆಚ್ಚು ಉಪಕರಣಗಳನ್ನು ಹುಡುಕಿ ಹೊಸ ಉಪಕರಣಗಳನ್ನು ಕಂಡುಹಿಡಿಯಿರಿ