2026-05-01 22:38:44 +08:00
|
|
|
package sun
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
"b612.me/astro/basic"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// ParallacticAngle 太阳视差角(天顶方向角) / solar parallactic angle.
|
|
|
|
|
//
|
|
|
|
|
// lon/lat 为观测者经纬度,东正西负、北正南负;返回值为有符号视差角,单位度。
|
|
|
|
|
func ParallacticAngle(date time.Time, lon, lat float64) float64 {
|
|
|
|
|
return basic.ParallacticAngleByHourAngle(HourAngle(date, lon, lat), ApparentDec(date), lat)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ParallacticAngleN 截断项太阳视差角(天顶方向角) / truncated solar parallactic angle.
|
|
|
|
|
func ParallacticAngleN(date time.Time, lon, lat float64, n int) float64 {
|
2026-09-23 18:55:12 +08:00
|
|
|
jd := basic.Date2JD(date.UTC())
|
2026-05-01 22:38:44 +08:00
|
|
|
return basic.ParallacticAngleByHourAngle(
|
|
|
|
|
HourAngleN(date, lon, lat, n),
|
2026-09-23 18:55:12 +08:00
|
|
|
basic.HSunApparentDecN(basic.UTC2TT(jd), n),
|
2026-05-01 22:38:44 +08:00
|
|
|
lat,
|
|
|
|
|
)
|
|
|
|
|
}
|