func (m *moon) sun(λ, β unit.Angle, Δ float64, earth *pp.V87Planet) (l0, b0 unit.Angle) { λ0, _, R := solar.ApparentVSOP87(earth, m.jde) ΔR := unit.Angle(Δ / (R * base.AU)) λH := λ0 + math.Pi + ΔR.Mul(β.Cos()*(λ0-λ).Sin()) βH := ΔR * β return m.lib(λH, βH) }
func (m *moon) sun(λ, β, Δ float64, earth *pp.V87Planet) (l0, b0 float64) { λ0, _, R := solar.ApparentVSOP87(earth, m.jde) ΔR := Δ / (R * base.AU) λH := λ0 + math.Pi + ΔR*math.Cos(β)*math.Sin(λ0-λ) βH := ΔR * β return m.lib(λH, βH) }
func eq2(y int, e *pp.V87Planet, q unit.Angle, c []float64) float64 { J0 := base.Horner(float64(y)*.001, c...) for { λ, _, _ := solar.ApparentVSOP87(e, J0) c := 58 * (q - λ).Sin() // (27.1) p. 180 J0 += c if math.Abs(c) < .000005 { break } } return J0 }