तारीख, वेळ आणि स्थळाच्या आधारे दृश्यमान तारामंडळे दर्शविणारा इंटरएक्टिव SVG रात्रीचा आकाशाचा नकाशा तयार करा. स्वयंचलित शोध किंवा मॅन्युअल समन्वय इनपुट, तारामंडळांची नावे, ताऱ्यांची स्थानं, आणि आकाशरेषा यांचा समावेश आहे.
नक्षत्र दर्शक अनुप्रयोग हा खगोलशास्त्र प्रेमी आणि ताऱ्यांचे निरीक्षण करणाऱ्यांसाठी एक शक्तिशाली साधन आहे. हे वापरकर्त्यांना त्यांच्या स्थान, तारीख आणि वेळेनुसार रात्रीच्या आकाशाचे दृश्य तयार करण्यास आणि दृश्यमान नक्षत्रांची ओळख करण्यास सक्षम करते. हा संवादात्मक अनुप्रयोग एक साधा SVG रात्रीचा आकाश नकाशा प्रदान करतो, ज्यामध्ये नक्षत्रांचे नाव, मूलभूत ताऱ्यांची स्थिती आणि क्षितिज रेषा दर्शविली जाते, सर्व एकाच पानाच्या इंटरफेसमध्ये.
अनुप्रयोग नक्षत्रे कोणती दिसतील हे ठरवण्यासाठी आकाशीय समन्वय आणि वेळ गणनांचा एकत्रित वापर करतो:
योग्य उगम (RA) आणि अवरोह (Dec): हे अनुक्रमे रेखांश आणि अक्षांशाचे आकाशीय समकक्ष आहेत. RA तासांमध्ये (0 ते 24) मोजला जातो, आणि Dec डिग्रीमध्ये (-90° ते +90°) मोजला जातो.
स्थानिक सिडेरियल वेळ (LST): हे निरीक्षकाच्या रेखांश आणि चालू तारीख आणि वेळाचा वापर करून गणना केली जाते. LST ठरवते की आकाशातील कोणता भाग सध्या वर आहे.
तासाचा कोन (HA): हा मेरिडियन आणि आकाशीय वस्तू यांच्यातील कोनात्मक अंतर आहे, जे खालीलप्रमाणे गणना केले जाते:
उंची (Alt) आणि आझिमुथ (Az): हे खालील सूत्रांचा वापर करून गणना केले जातात:
जिथे Lat हा निरीक्षकाचा अक्षांश आहे.
अनुप्रयोग दृश्यमान नक्षत्रे ठरवण्यासाठी आणि आकाश नकाशा तयार करण्यासाठी खालील चरणांचे पालन करतो:
नक्षत्र दर्शक अनुप्रयोगाचे विविध अनुप्रयोग आहेत:
आमचा नक्षत्र दर्शक अनुप्रयोग रात्रीच्या आकाशाचे दृश्य पाहण्यासाठी एक साधा आणि प्रवेशयोग्य मार्ग प्रदान करतो, तरीही इतर साधने उपलब्ध आहेत:
नक्षत्र नकाशे आणि ताऱ्यांच्या चार्टचा इतिहास हजारो वर्षांपूर्वीचा आहे:
अनुप्रयोग एक साधी नक्षत्र डेटाबेस वापरतो जी TypeScript फाईलमध्ये संग्रहित आहे:
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: "उर्सा मेजर",
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
अनुप्रयोग विविध वेळ क्षेत्रे आणि स्थान हाताळतो:
अनुप्रयोग थेट प्रकाश प्रदूषणाचा विचार करत नाही, तरीही वापरकर्त्यांनी लक्षात ठेवावे की:
क्षितिज रेषा निरीक्षकाच्या स्थानावर आधारित गणना केली जाते:
अनुप्रयोग हंगामी विविधता दृश्यमान नक्षत्रांमध्ये विचारात घेतो:
आपल्या कामच्या प्रक्रियेसाठी उपयुक्त असणारे अधिक उपकरण शोधा.