తేదీ, సమయం మరియు స్థానం ఆధారంగా కనిపించే తారాగణాలను చూపించే ఇంటరాక్టివ్ SVG రాత్రి ఆకాశం మ్యాప్ను రూపొందించండి. ఆటో-డిటెక్ట్ లేదా మాన్యువల్ సమన్వయ ఇన్పుట్, తారాగణాల పేర్లు, తారల స్థానాలు మరియు హారిజాన్ రేఖను కలిగి ఉంది.
ಕಾನ್ಸ್ಟೆಲೇಶನ್ ವೀಕ್ಷಕ ಅಪ್ಲಿಕೇಶನ್ ಜ್ಯೋತಿಷ್ಯ ಉತ್ಸಾಹಿಗಳ ಮತ್ತು ನಕ್ಷತ್ರ ವೀಕ್ಷಕರಿಗಾಗಿ ಶಕ್ತಿಯುತ ಸಾಧನವಾಗಿದೆ. ಇದು ಬಳಕೆದಾರರಿಗೆ ತಮ್ಮ ಸ್ಥಳ, ದಿನಾಂಕ ಮತ್ತು ಸಮಯದ ಆಧಾರದ ಮೇಲೆ ಕಾಣುವ ನಕ್ಷತ್ರಗುಚ್ಛಗಳನ್ನು ಗುರುತಿಸಲು ಮತ್ತು ರಾತ್ರಿ ಆಕಾಶವನ್ನು ದೃಶ್ಯೀಕರಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಈ ಪರಸ್ಪರ ಅಪ್ಲಿಕೇಶನ್ ಒಂದು ಸರಳ SVG ರಾತ್ರಿ ಆಕಾಶ ನಕ್ಷೆ ಒದಗಿಸುತ್ತದೆ, ಇದು ಕಾನ್ಸ್ಟೆಲೇಶನ್ ಹೆಸರಗಳು, ಮೂಲ ನಕ್ಷತ್ರಗಳ ಸ್ಥಾನಗಳು ಮತ್ತು ಹಾರಿಜಾನ್ ರೇಖೆಗಳನ್ನು ತೋರಿಸುತ್ತದೆ, ಎಲ್ಲಾ ಒಂದೇ ಪುಟದ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿದೆ.
ಅಪ್ಲಿಕೇಶನ್, ರಾತ್ರಿ ಆಕಾಶದಲ್ಲಿ ಯಾವ ಕಾನ್ಸ್ಟೆಲೇಶನ್ಗಳು ಕಾಣಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು ಆಕಾಶೀಯ ಸಮನ್ವಯಗಳು ಮತ್ತು ಸಮಯದ ಲೆಕ್ಕಹಾಕುವ ಸಂಯೋಜನೆಯನ್ನು ಬಳಸುತ್ತದೆ:
ಬಲ ಉದ್ದ (RA) ಮತ್ತು ಅಕ್ಷಾಂಶ (Dec): ಇವು ಉದ್ದ ಮತ್ತು ಅಕ್ಷದ ಆಕಾಶೀಯ ಸಮಾನಾಂತರಗಳಾಗಿವೆ. RA ಗಂಟೆಗಳಲ್ಲಿ (0 ರಿಂದ 24) ಅಳೆಯಲಾಗುತ್ತದೆ, ಮತ್ತು Dec ಡಿಗ್ರಿಗಳಲ್ಲಿ (-90° ರಿಂದ +90°) ಅಳೆಯಲಾಗುತ್ತದೆ.
ಸ್ಥಳೀಯ ಸಿಡೀರಿಯಲ್ ಸಮಯ (LST): ಇದು ವೀಕ್ಷಕರ ಉದ್ದ ಮತ್ತು ಪ್ರಸ್ತುತ ದಿನಾಂಕ ಮತ್ತು ಸಮಯವನ್ನು ಬಳಸಿಕೊಂಡು ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ. LST, ಆಕಾಶೀಯ ಸ್ಫಿಯರ್ನ ಯಾವ ಭಾಗವು ಪ್ರಸ್ತುತ ಮೇಲ್ಭಾಗದಲ್ಲಿದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.
ಗಂಟೆ ಕೋನ (HA): ಇದು ಮೆರಿಡಿಯನ್ ಮತ್ತು ಆಕಾಶೀಯ ವಸ್ತುವಿನ ನಡುವಿನ ಕೋನೀಯ ಅಂತರವಾಗಿದೆ, ಇದು ಈ ರೀತಿಯಾಗಿ ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ:
ಎತ್ತರ (Alt) ಮತ್ತು ಆಜಿಮುತ್ (Az): ಈ ಕೆಳಗಿನ ಸೂತ್ರಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ:
ಇಲ್ಲಿ Lat ವೀಕ್ಷಕರ ಅಕ್ಷಾಂಶವಾಗಿದೆ.
ಕಾಣುವ ಕಾನ್ಸ್ಟೆಲೇಶನ್ಗಳನ್ನು ನಿರ್ಧರಿಸಲು ಮತ್ತು ಆಕಾಶ ನಕ್ಷೆಯನ್ನು ರಚಿಸಲು ಅಪ್ಲಿಕೇಶನ್ ಈ ಹಂತಗಳನ್ನು ಅನುಸರಿಸುತ್ತದೆ:
ಕಾನ್ಸ್ಟೆಲೇಶನ್ ವೀಕ್ಷಕ ಅಪ್ಲಿಕೇಶನ್ಗೆ ವಿವಿಧ ಅನ್ವಯಗಳು ಇವೆ:
ನಮ್ಮ ಕಾನ್ಸ್ಟೆಲೇಶನ್ ವೀಕ್ಷಕ ಅಪ್ಲಿಕೇಶನ್, ರಾತ್ರಿ ಆಕಾಶವನ್ನು ವೀಕ್ಷಿಸಲು ಸರಳ ಮತ್ತು ಸುಲಭವಾದ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತಿದ್ದರೂ, ಇತರ ಸಾಧನಗಳು ಲಭ್ಯವಿವೆ:
ಕಾನ್ಸ್ಟೆಲೇಶನ್ ನಕ್ಷೆ ಮತ್ತು ನಕ್ಷತ್ರ ಚಾರ್ಟ್ಗಳ ಇತಿಹಾಸ ಸಾವಿರಾರು ವರ್ಷಗಳ ಹಿಂದೆ ಆರಂಭವಾಗುತ್ತದೆ:
ಅಪ್ಲಿಕೇಶನ್ TypeScript ಫೈಲ್ನಲ್ಲಿ ಸಂಗ್ರಹಿತ ಸರಳ ಕಾನ್ಸ್ಟೆಲೇಶನ್ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಬಳಸುತ್ತದೆ:
1export interface Star {
2 ra: number; // Right Ascension in hours
3 dec: number; // Declination in degrees
4 magnitude: number; // Star brightness
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 // ... more stars
19 ]
20 },
21 // ... more constellations
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 // Draw sky background
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 // Draw stars and constellations
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 // Add constellation name
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 // Draw horizon line
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 // Convert RA and Dec to x, y coordinates
60 // This is a simplified projection and should be replaced with a proper celestial projection
61 const x = (star.ra / 24) * width;
62 const y = ((90 - star.dec) / 180) * height;
63 return { x, y };
64}
65
ಅಪ್ಲಿಕೇಶನ್ ವಿಭಿನ್ನ ಸಮಯ ವಲಯಗಳು ಮತ್ತು ಸ್ಥಳಗಳನ್ನು ಹ್ಯಾಂಡಲ್ ಮಾಡುತ್ತದೆ:
ಅಪ್ಲಿಕೇಶನ್ ನೇರವಾಗಿ ಬೆಳಕು ಮಾಲಿನ್ಯವನ್ನು ಪರಿಗಣಿಸುತ್ತಿಲ್ಲ, ಆದರೆ ಬಳಕೆದಾರರು ಗಮನದಲ್ಲಿಡಬೇಕು:
ಹಾರಿಜಾನ್ ರೇಖೆಯನ್ನು ವೀಕ್ಷಕರ ಸ್ಥಳದ ಆಧಾರದ ಮೇಲೆ ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ:
ಅಪ್ಲಿಕೇಶನ್ ಹವಾಮಾನ ಬದಲಾವಣೆಗಳನ್ನು ಗಮನದಲ್ಲಿಟ್ಟುಕೊಂಡು ಕಾಣುವ ಕಾನ್ಸ್ಟೆಲೇಶನ್ಗಳನ್ನು ಪರಿಗಣಿಸುತ್ತದೆ:
మీ వర్క్ఫ్లో కోసం ఉపయోగపడవచ్చే ఇతర సాధనాలను కనుగొనండి