func ExampleTopocentricEcliptical() { // exercise, p. 282 λʹ, βʹ, sʹ := parallax.TopocentricEcliptical( unit.NewAngle(' ', 181, 46, 22.5), unit.NewAngle(' ', 2, 17, 26.2), unit.NewAngle(' ', 0, 16, 15.5), unit.NewAngle(' ', 50, 5, 7.8), 0, unit.NewAngle(' ', 23, 28, 0.8), unit.NewAngle(' ', 209, 46, 7.9).Time(), unit.NewAngle(' ', 0, 59, 27.7)) fmt.Printf("λʹ = %.1s\n", sexa.FmtAngle(λʹ)) fmt.Printf("βʹ = %+.1s\n", sexa.FmtAngle(βʹ)) fmt.Printf("sʹ = %.1s\n", sexa.FmtAngle(sʹ)) // Output: // λʹ = 181°48′5.0″ // βʹ = +1°29′7.1″ // sʹ = 16′25.5″ }
func TestTopocentricEcliptical(t *testing.T) { // exercise, p. 282 λʹ, βʹ, sʹ := parallax.TopocentricEcliptical(base.NewAngle(false, 181, 46, 22.5).Rad(), base.NewAngle(false, 2, 17, 26.2).Rad(), base.NewAngle(false, 0, 16, 15.5).Rad(), base.NewAngle(false, 50, 5, 7.8).Rad(), 0, base.NewAngle(false, 23, 28, 0.8).Rad(), base.NewAngle(false, 209, 46, 7.9).Rad(), base.NewAngle(false, 0, 59, 27.7).Rad()) λʹa := base.NewAngle(false, 181, 48, 5).Rad() βʹa := base.NewAngle(false, 1, 29, 7.1).Rad() sʹa := base.NewAngle(false, 0, 16, 25.5).Rad() if math.Abs(λʹ-λʹa) > .1/60/60*math.Pi/180 { t.Fatal(λʹ, λʹa) } if math.Abs(βʹ-βʹa) > .1/60/60*math.Pi/180 { t.Fatal(βʹ, βʹa) } if math.Abs(sʹ-sʹa) > .1/60/60*math.Pi/180 { t.Fatal(sʹ, sʹa) } }