惑星光行差は光行差 の一つであり, 曲線光行差と直線行光差の二種類が在る.
1・曲線光行差
距離の単位は光秒, 光分, 光時間, 光日, 光年が便利である.
1光秒==299792.458km
1光分==60光秒
1光時間==60光分
1光日==24光時間
1光年==365.242199光日(365光日5光時間48光分45.9936光秒)
Nowを入力する. これは元紀からの経過時間である.
Nowを元に, 観測地の位置を求める.
ItsTime=Now
ItsTimeを元に天体の位置を求めて, 天体と観測地の距離をDとする.
見掛けの位置を求める場合, ItsTime=ItsTime-D
真の位置を求める場合, ItsTime=ItsTime+D
ItsTimeを元に天体の位置を求めて, 天体と観測地の距離をDiとする.
ItsTime=ItsTime-(D-Di)
ItsTimeを元に天体の位置を求めて, 天体と観測地の距離をDiiとする.
converge{ abc(Di-Dii)<許容範囲 }iterate{
ItsTime=ItsTime-(Di-Dii)
ItsTimeを元に天体の位置を求めて, 天体と観測地の距離をDiiiとする.
Di=Dii
Dii=Diii
}proceed
ItsTimeを元に天体の位置を求めて, その値を採用する.
2・直線光行差
Aberrationは, ずれて見える角度.
ApparentDisは, 天体の見掛けの距離.
LightVel=299792.458 // 単位はkm/s
StarCourseは, 天体の運動方向.
StarVelは, 天体の速度. (km/s)
Thetaは, 天体の運動方向. 0で真っ直ぐ遠ざかり, 180で真っ直ぐ接近する.
TrueDisは, 天体の真の距離.
真の距離を求める場合,
StarCourse=180-Theta
Aberration=asin(sin(StarCourse)/LightVel*StarVel)
A=180-(Aberration+StarCourse)
B=(LightVel^2+StarVel^2-2*LightVel*StarVel*cos(A))^0.5
C=0.5*(A+StarCourse)
StarCourse==Cの場合, TrueDis=ApparentDis
StarCourse>Cの場合, TrueDis=B/LightVel*ApparentDis
StarCourse<Cの場合, TrueDis=LightDis/B*ApparentDis
log[10](ApparentDis/TrueDis)*5+見掛けの距離での等級=真の距離での等級
見掛けの距離を求める場合,
Aberration=asin(StarVel/LightVel*sin(Theta))
A=180-(Aberration+Theta)
B=(LightVel^2+StarVel^2-2*LightVel*StarVel*cos(A))^0.5
ApparentDis=LightVel/B*TrueDis
log[10](TrueDis/ApparentDis)*5+真の距離での等級=見掛けの距離での等級
バーナード星は, StarVel=139, StarCourse=51なのでAberrationは0度1分14.3328秒.
カプタイン星は, StarVel=297, StarCourse=146なのでAberrationは0度1分53.1132秒.