Documentation
¶
Overview ¶
Apparent: Chapter 23, Apparent Place of a Star
Index ¶
- func Aberration(α unit.RA, δ unit.Angle, jd float64) (Δα2 unit.HourAngle, Δδ2 unit.Angle)
- func AberrationRonVondrak(α unit.RA, δ unit.Angle, jd float64) (Δα unit.HourAngle, Δδ unit.Angle)
- func EclipticAberration(λ, β unit.Angle, jd float64) (Δλ, Δβ unit.Angle)
- func Nutation(α unit.RA, δ unit.Angle, jd float64) (Δα1 unit.HourAngle, Δδ1 unit.Angle)
- func Position(eqFrom, eqTo *coord.Equatorial, epochFrom, epochTo float64, mα unit.HourAngle, ...) *coord.Equatorial
- func PositionRonVondrak(eqFrom, eqTo *coord.Equatorial, epochTo float64, mα unit.HourAngle, ...) *coord.Equatorial
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Aberration ¶
Aberration returns corrections due to aberration for equatorial coordinates of an object. 光行差导致的赤道坐标的修正
Example ¶
// Example 23.a, p. 152
α := unit.NewRA(2, 46, 11.331)
δ := unit.NewAngle(' ', 49, 20, 54.54)
jd := julian.CalendarGregorianToJD(2028, 11, 13.19)
Δα2, Δδ2 := apparent.Aberration(α, δ, jd)
fmt.Printf("%.3s %.3s\n",
sexa.FmtAngle(unit.Angle(Δα2)), // (Δα2 is in HourAngle)
sexa.FmtAngle(Δδ2))
Output: 30.045″ 6.697″
func AberrationRonVondrak ¶
AberrationRonVondrak uses the Ron-Vondrák expression to compute corrections due to aberration for equatorial coordinates of an object. RonVondrak方法计算光行差引起的赤道坐标的修正
Example ¶
package main
import (
"fmt"
"github.com/mooncaker816/learnmeeus/v3/apparent"
"github.com/mooncaker816/learnmeeus/v3/julian"
"github.com/soniakeys/unit"
)
func main() {
// Example 23.b, p. 156
α := unit.NewRA(2, 44, 12.9747)
δ := unit.NewAngle(' ', 49, 13, 39.896)
jd := julian.CalendarGregorianToJD(2028, 11, 13.19)
Δα, Δδ := apparent.AberrationRonVondrak(α, δ, jd)
fmt.Printf("Δα = %+.9f radian\n", Δα)
fmt.Printf("Δδ = %+.9f radian\n", Δδ)
}
Output: Δα = +0.000145252 radian Δδ = +0.000032723 radian
func EclipticAberration ¶
EclipticAberration returns corrections due to aberration for ecliptic coordinates of an object. 光行差导致的黄道坐标的修正
func Nutation ¶
Nutation returns corrections due to nutation for equatorial coordinates of an object.
Results are invalid for objects very near the celestial poles. 章动导致的赤道坐标修正
Example ¶
// Example 23.a, p. 152
α := unit.NewRA(2, 46, 11.331)
δ := unit.NewAngle(' ', 49, 20, 54.54)
jd := julian.CalendarGregorianToJD(2028, 11, 13.19)
Δα1, Δδ1 := apparent.Nutation(α, δ, jd)
fmt.Printf("%.3s %.3s\n",
sexa.FmtAngle(unit.Angle(Δα1)), // (Δα1 is in HourAngle)
sexa.FmtAngle(Δδ1))
Output: 15.843″ 6.217″
func Position ¶
func Position(eqFrom, eqTo *coord.Equatorial, epochFrom, epochTo float64, mα unit.HourAngle, mδ unit.Angle) *coord.Equatorial
Position computes the apparent position of an object.
Position is computed for equatorial coordinates in eqFrom, considering proper motion, precession, nutation, and aberration. Result is in eqTo. EqFrom and eqTo must be non-nil, but may point to the same struct. 计算天体的视位置,考虑了自行运动,岁差,章动,光行差
Example ¶
// Example 23.a, p. 152
jd := julian.CalendarGregorianToJD(2028, 11, 13.19)
eq := &coord.Equatorial{
unit.NewRA(2, 44, 11.986),
unit.NewAngle(' ', 49, 13, 42.48),
}
apparent.Position(eq, eq, 2000, base.JDEToJulianYear(jd),
unit.HourAngleFromSec(.03425),
unit.AngleFromSec(-.0895))
fmt.Printf("α = %0.3d\n", sexa.FmtRA(eq.RA))
fmt.Printf("δ = %0.2d\n", sexa.FmtAngle(eq.Dec))
Output: α = 2ʰ46ᵐ14ˢ.390 δ = 49°21′07″.45
func PositionRonVondrak ¶
func PositionRonVondrak(eqFrom, eqTo *coord.Equatorial, epochTo float64, mα unit.HourAngle, mδ unit.Angle) *coord.Equatorial
PositionRonVondrak computes the apparent position of an object using the Ron-Vondrák expression for aberration.
Position is computed for equatorial coordinates in eqFrom, considering proper motion, aberration, precession, and nutation. Result is in eqTo. EqFrom and eqTo must be non-nil, but may point to the same struct.
Note the Ron-Vondrák expression is only valid for the epoch J2000. EqFrom must be coordinates at epoch J2000. 采用Ron-Vondrák计算光行差,计算天体视位置
Example ¶
// Example 23.b, p. 156
jd := julian.CalendarGregorianToJD(2028, 11, 13.19)
eq := &coord.Equatorial{
RA: unit.NewRA(2, 44, 11.986),
Dec: unit.NewAngle(' ', 49, 13, 42.48),
}
apparent.PositionRonVondrak(eq, eq, base.JDEToJulianYear(jd),
unit.HourAngleFromSec(.03425),
unit.AngleFromSec(-.0895))
fmt.Printf("α = %0.3d\n", sexa.FmtRA(eq.RA))
fmt.Printf("δ = %0.2d\n", sexa.FmtAngle(eq.Dec))
Output: α = 2ʰ46ᵐ14ˢ.392 δ = 49°21′07″.45
Types ¶
This section is empty.