தேதி, நேரம் மற்றும் இடத்தை அடிப்படையாகக் கொண்டு காணக்கூடிய நட்சத்திரங்களை காட்டும் தொடர்புடைய 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
இந்த தரவுத்தொகுப்பு நட்சத்திரக் குழுக்களை எளிதாக தேடும் மற்றும் உருவாக்குவதற்கான திறனை வழங்குகிறது.
செயலி D3.js ஐ SVG இரவு வான வரைபடத்தை உருவாக்க பயன்படுத்துகிறது. உருவாக்கும் செயல்முறையின் எளிமையான எடுத்துக்காட்டு:
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
செயலியில் வெவ்வேறு நேர மண்டலங்கள் மற்றும் இடங்களை கையாள்வதற்கான முறைகள்:
செயலியில் நேரடியாக ஒளி மாசு கணக்கீடு செய்யப்படவில்லை, ஆனால் பயனர்கள் கவனிக்க வேண்டும்:
பார்வையாளரின் இடத்தை அடிப்படையாகக் கொண்டு கிழக்கு வரி கணக்கிடப்படுகிறது:
செயலி காணக்கூடிய நட்சத்திரக் குழுக்களில் பருவ மாற்றங்களை கணக்கீடு செய்கிறது:
உங்கள் பணிப்பாக்கிலுக்கு பயனுள்ள மேலும் பயனுள்ள கருவிகளைக் கண்டறியவும்