- 新增日食、月食、本地可见性、中心线、半影区域、SVG 图示与沙罗周期信息 - 新增行星冲合、留、方照、物理星历、视直径、相位、亮肢角、轨道节点等计算 - 新增木星伽利略卫星位置、现象与接触事件计算 - 新增恒星星表、星座判定、自行修正与观测辅助能力 - 新增 coord、formula、orbit、sundial、lite/sun、lite/moon 等扩展包 - 完善农历年号、月相英文别名、视差角、大气质量、折射、日晷与双星计算 - 增加 NASA、JPL Horizons、IMCCE 等回归测试数据与基线测试 - 重构基础算法文件组织,补充大量公开 API 注释和语义回归测试 - 更新中文和英文 README,补充示例、精度说明、SVG 配图
35 lines
1.7 KiB
Go
35 lines
1.7 KiB
Go
package moon
|
||
|
||
import (
|
||
"time"
|
||
|
||
"b612.me/astro/basic"
|
||
)
|
||
|
||
// BrightLimbPositionAngle 月亮明亮边缘位置角,单位度 / position angle of the Moon's bright limb in degrees.
|
||
func BrightLimbPositionAngle(date time.Time) float64 {
|
||
return BrightLimbPositionAngleN(date, -1)
|
||
}
|
||
|
||
// BrightLimbPositionAngleN 月亮明亮边缘位置角(截断版),单位度 / truncated position angle of the Moon's bright limb in degrees.
|
||
func BrightLimbPositionAngleN(date time.Time, n int) float64 {
|
||
return basic.MoonBrightLimbPositionAngleN(observationTT(date), n)
|
||
}
|
||
|
||
// TopocentricBrightLimbPositionAngle 月亮站心明亮边缘位置角,单位度 / topocentric position angle of the Moon's bright limb in degrees.
|
||
//
|
||
// date 为观测时刻;observerLon/observerLat 为观测者经纬度,东正西负、北正南负;height 为海拔高度,单位米。
|
||
// date is the observing instant; observerLon/observerLat are east-positive and north-positive; height is observer elevation in meters.
|
||
func TopocentricBrightLimbPositionAngle(date time.Time, observerLon, observerLat, height float64) float64 {
|
||
return TopocentricBrightLimbPositionAngleN(date, observerLon, observerLat, height, -1)
|
||
}
|
||
|
||
// TopocentricBrightLimbPositionAngleN 月亮站心明亮边缘位置角(截断版),单位度 / truncated topocentric position angle of the Moon's bright limb in degrees.
|
||
func TopocentricBrightLimbPositionAngleN(date time.Time, observerLon, observerLat, height float64, n int) float64 {
|
||
return basic.MoonTopocentricBrightLimbPositionAngleN(observationTT(date), observerLon, observerLat, height, n)
|
||
}
|
||
|
||
func observationTT(date time.Time) float64 {
|
||
return basic.TD2UT(basic.Date2JDE(date.UTC()), true)
|
||
}
|