新增恒星相关计算
This commit is contained in:
+9
-9
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user