apparent

package
v3.0.0-...-8217f41 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 1, 2018 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Apparent: Chapter 23, Apparent Place of a Star

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Aberration

func Aberration(α unit.RA, δ unit.Angle, jd float64) (Δα2 unit.HourAngle, Δδ2 unit.Angle)

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

func AberrationRonVondrak(α unit.RA, δ unit.Angle, jd float64) (Δα unit.HourAngle, Δδ unit.Angle)

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

func EclipticAberration(λ, β unit.Angle, jd float64) (Δλ, Δβ unit.Angle)

EclipticAberration returns corrections due to aberration for ecliptic coordinates of an object. 光行差导致的黄道坐标的修正

func Nutation

func Nutation(α unit.RA, δ unit.Angle, jd float64) (Δα1 unit.HourAngle, Δδ1 unit.Angle)

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL