新增恒星相关计算

This commit is contained in:
2022-05-12 15:55:48 +08:00
parent 7604fabf8f
commit bb07e23238
16 changed files with 375 additions and 132 deletions
+9 -9
View File
@@ -12,7 +12,7 @@ func StarHeight(jde, ra, dec, lon, lat, timezone float64) float64 {
// 转换为世界时
utcJde := jde - timezone/24.0
// 计算视恒星时
st := Limit360(SeeStarTime(utcJde)*15 + lon)
st := Limit360(ApparentSiderealTime(utcJde)*15 + lon)
// 计算时角
H := Limit360(st - ra)
// 高度角、时角与天球座标三角转换公式
@@ -28,7 +28,7 @@ func StarAzimuth(jde, ra, dec, lon, lat, timezone float64) float64 {
// 转换为世界时
utcJde := jde - timezone/24.0
// 计算视恒星时
st := Limit360(SeeStarTime(utcJde)*15 + lon)
st := Limit360(ApparentSiderealTime(utcJde)*15 + lon)
// 计算时角
H := Limit360(st - ra)
// 三角转换公式
@@ -53,26 +53,26 @@ func StarHourAngle(jde, ra, lon, timezone float64) float64 {
// 转换为世界时
utcJde := jde - timezone/24.0
// 计算视恒星时
st := Limit360(SeeStarTime(utcJde)*15 + lon)
st := Limit360(ApparentSiderealTime(utcJde)*15 + lon)
// 计算时角
return Limit360(st - ra)
}
// TrueStarTime 不含章动下的恒星时
func TrueStarTime(JD float64) float64 {
// MeanSiderealTime 不含章动下的恒星时
func MeanSiderealTime(JD float64) float64 {
T := (JD - 2451545) / 36525
return (Limit360(280.46061837+360.98564736629*(JD-2451545.0)+0.000387933*T*T-T*T*T/38710000) / 15)
}
// SeeStarTime 视恒星时,计算章动
func SeeStarTime(JD float64) float64 {
tmp := TrueStarTime(JD)
// ApparentSiderealTime 视恒星时,计算章动
func ApparentSiderealTime(JD float64) float64 {
tmp := MeanSiderealTime(JD)
return tmp + HJZD(JD)*Cos(Sita(JD))/15
}
func StarAngle(RA, DEC, JD, Lon, Lat, TZ float64) float64 {
//JD=JD-8/24+TZ/24;
calcjd := JD - TZ/24
st := Limit360(SeeStarTime(calcjd)*15 + Lon)
st := Limit360(ApparentSiderealTime(calcjd)*15 + Lon)
H := Limit360(st - RA)
tmp2 := Sin(H) / (Cos(H)*Sin(Lat) - Tan(DEC)*Cos(Lat))
Angle := ArcTan(tmp2)