惑星の位置計算についての説明にチャレンジしてみます。


概説なので非常に大雑把に説明しようと思います。(続編は無理だろうな;;)

基本的な用語から始めると始まる前に飽きてしまうはずなのでわからない単語はググっていただくということで。

なんとなくわかるところまでいけば、本記事の目標達成です。プログラムまで書いた経験からするとかなり精密なところまで踏み込まないと実際には計算が合いません。

説明にはトップダウンで行こうと思います。最初おおまか、最後細かいところまで。最後の方は理解しなくてもいいようにしてみたいと思ってます。


旬の木星を例に使います。

1.木星は何時ごろ、どの方向に見えるの?
  副題:自分で見た夜空で木星の位置を見つける

地球の自転によって見える方向は東→西と変わるので、時刻いつ、を指定する必要があります。
また、同時刻でも東京で見た方向と沖縄で見た方向は異なります。

計算には入力が必要です。

天文台にはよく「木星はどのへんに見えますか?」のような電話質問があるそうです(今は知りませんが、長沢さん著の本に紹介あり)。
その問いに答えるには、「どこにお住まいですか?」「何時ごろ見るつもりですか?」といった入力を促す質問が必要なわけです。時刻・場所によっては見えないこともあるからです。

どの方向をあらわすのに使われるのが、地平座標です。
方位角、高度、で表します。
方位角は北を0度、東を90度、南を180度、西を270度とぐるっと360度(=0度)で表します。
高度は水平を0度、天頂を90度、水平より下はマイナスをつけて表します。
わかると思いますが、地平座標は観測者固有の座標です。

入力:2月22日18時頃、東京で木星はどの方向に見える?
出力:方位角約180度(=真南)、高度約75度に見えます。


ではなぜ2月22日18時東京で方位角180度高度75度に見えると計算できたのでしょう。
それはその時刻の木星の赤経・赤緯を計算したからです。2へ続く。


2.木星はいまの季節、どの星座にあるの?
  副題:木星の赤経・赤緯を計算する

地平座標は観測場所によって見える方向が変わってしまうので、恒星が張り付いている天球を仮定し、天球に座標を書いて、あるときの木星の位置を表すことを考えます。

これを赤道座標といい、地球の北極、南極、赤道をそのまま宇宙に投影したかのようなイメージで、赤経、赤緯で現します。
赤緯90度天の北極は地球の自転軸の真上。天の赤道は赤緯0度。
赤経0時は太陽が春分の日にある位置として、天球を外から北極から見て反時計回りに24時で表します。

惑星は天球上の座標が時刻で変わって行きますから、やはり入力として時刻が必要です。
木星は12年で赤道座標上を1周、1年と少しの周期で行ったり来たり(惑う星)します。

入力:2月22日18時頃、木星の赤経・赤緯は?
出力:赤経4時21分、赤緯21度、おうし座のアルデバラン付近にあります。

時刻指定だけで場所(東京)の指定が外れたことがわかるでしょうか。沖縄で見てもやはりアルデバラン近くに見えます。

ある時刻の木星の赤経・赤緯がわかると、観測場所さえ指定すれば方位角・高度が求まるのがわかるでしょうか。惑星の位置計算のポイントは赤経・赤緯を求めることにあります。

ではなぜ2月22日18時頃におうし座アルデバラン付近に見えると計算できたのでしょう。
それはその時刻の木星と地球の黄経・黄緯・動径を計算したからです。3へ続く。


3.木星の本当の位置はどこなの?
  副題:木星と地球の黄経・黄緯・動径を求める

1.と2.で求めた木星の位置は実は見える方向のみであって、空間の絶対的な位置座標ではありません。
これを表すのに黄道座標と動径(太陽惑星間距離)を使います。
黄道座標は太陽を中心として地球の公転軌道面を黄緯0度として宇宙に拡大したような座標系です。黄経は春分点を0度として360度で表します。

木星は太陽を中心に約5天文単位(地球太陽間が1天文単位)離れた楕円軌道上(といってもほぼ円です)を回っています。地球も同じように太陽を中心に1天文単位離れた楕円軌道上を回っています。


木星と地球、それぞれ太陽公転中での位置(黄道座標と動径)を求めてベクトル引き算して初めて見える方向が決まります。これを赤径・赤緯に変換すると2へ戻れることになります。

入力:2月22日18時
出力:地球と木星の黄道座標と動径
  地球:黄経約154度、黄緯0度、動径0.989AU
  木星:黄経約78度、黄緯-0.5度、動径5.0807AU

  三角関数でおおよその計算をしてみます(本当はこれでは求まりません)
   地球-太陽-木星の作る角度は、154-78=76度。
   余弦定理 a^2 = b^2 + c^2 - 2bc ・ cos76 を使って
   a^2 = 1 + 25 - 10・cos76
   地球木星間距離 a = 4.856
   正弦定理 a/sin76 = 5/sinX を使って
   sinX ≒1
     太陽-地球-木星の作る角度 X=90度
  ここまでは地球と木星が同じ軌道平面上にあると仮定した、おおよその計算です。

  正確に計算するなら黄道座標と動径で、木星の3次元座標、地球の3次元座標を計算してベクトル引き算をして求めるわけです。
  (太陽→木星ベクトル) - (太陽→地球ベクトル) = 
  地球から見た木星方向(ちなみにこの日は木星が東矩で太陽方向から90度)

地球と木星の黄道座標と動径を求めるには、軌道要素が必要です。4へ続く。

4.地球と木星の位置を求める
  副題:軌道要素から位置を計算する

実際に黄道座標と動径を求めるために使用されるのが軌道要素という6つのパラメータです。
この軌道要素を使いたかったから黄道座標まで降りてきたわけです。

Ω:昇交点黄経、ω:近日点離角、e:離心率、i:軌道傾斜、a:長半径、m0:元期平均近点角

軌道の大きさ・形を定義するもの
a:長半径、e:離心率

重力のみが働いた2物体の運動の軌道の形は、平面内に存在して、楕円の長半径と離心率のみで表現できます。太陽系の場合、ほとんどの質量は太陽にあり、重心も太陽内にあります。
楕円の焦点のひとつに太陽があると思って下さい。地球は長半径 a が1、離心率 e は0.0167とかなり真円に近いです。楕円の中心から長半径の1%くらいずれたところに太陽があると思えばいいです。
木星は長半径 a が5.2、離心率 e は0.0485、楕円中心から長半径の5%くらいずれたところに太陽があることになります。

軌道の存在する平面を定義するもの
i:軌道傾斜、Ω:昇交点黄経

軌道の形は長半径 a と離心率 e で表現できますが、その軌道を含む平面は、各惑星でまちまちです。なので地球軌道を含む平面を基準にして、各惑星の軌道平面がどれだけ傾いているかを表現するために軌道傾斜 i を使います。
楕円軌道の焦点である太陽を地球と木星で共有しているわけですが、軌道傾斜だけでは平面がひとつに定まりません(地球軌道平面と i の角度をなす平面は無限にある)。
なので、軌道平面が交わる2つの方向のうち、南から北(図で下から上)へ横切る方向を求めて昇交点黄経Ωと表現します。黄経なので太陽が春分の日に見える方向が基準0で、そこから角度を測るわけです。

これで木星軌道が存在する平面が決まりました。


軌道の向きを定義するもの
ω:近日点離角

軌道傾斜 i と昇交点黄経 Ω で木星軌道が存在する平面はわかったのですが、実はまだ自由度が残されています。軌道の形と平面と焦点たる太陽を押さえても、太陽を中心に楕円がくるくる回ることができる(長半径方向が自由な方向に向けられる)ことがイメージできるでしょうか。
なので、近日点離角ωを導入して楕円の向きをしっかり固定します。
測り方は昇交点から木星が最も太陽に近づく近日点までの角度とします。
ここまでで、めでたく、空間上に木星の描く楕円軌道が固定できました。


惑星位置の初期値
m0:元期の平均近点角
最後のパラメータが元期平均近点角です。これは、どの時点で木星は軌道上のどこにいたのかを表します。軌道がわかっても初期位置が決まってないと計算できませんよね。
基準となる日(理科年表などに明記されています)に測った木星の位置を近日点からの角度で表します。(実際は楕円軌道なので仮想位置を指しています。概説なので説明省略)
手元の理科年表データによると元期(epoch)2011年8月27.0日
地球:231.75度、木星:13.59度とあります。
8月27日0時にはそれぞれの惑星が自分の近日点からそれぞれの元期平均近点角分の角度動いた位置にいたわけです。


楕円軌道上のどの座標に木星あるいは地球があるか計算するにはケプラー方程式を解かないとなりませんがケプラー方程式は u - e・sin(u) = L という形をしていて数値計算するしかありません。ケプラー方程式の導出と解法は難しいので省略します。
が、プログラムでやるのは簡単です。
プログラムは繰り返し計算は得意なのでニュートン近似を使って指定精度内の解をすぐ見つけられます。
ここでは、楕円上の(x, y)座標をケプラー方程式で求めることがわかれば十分です。

求めたい時刻2月22日18時が元期からどれだけ時間経っているか求め(時刻の引き算)、惑星が楕円軌道上をどれだけ動いたか求め(公転周期から角速度がわかる)、その(x, y)座標を求め(ケプラー方程式)、回転したり(近日点離角分)、傾けたり(軌道傾斜、昇交点黄経)して、黄道座標と動径を求めるわけです。
地球と木星の両方でこの計算をやって3番に戻るわけです。


ではこの軌道要素はどうやって決めたかというと、それは観測によってです。
新発見の小惑星などがあると最低3度観測を行い軌道要素が確定されます。



5.まとめ

ボトムアップでまとめます。

惑星の観測により軌道要素を確定
指定時刻に楕円軌道上どこにその惑星があるのか計算 → 惑星の黄道座標と動径
同時に地球が楕円軌道上どこにあるか計算 → 地球の黄道座標と動径
惑星座標ベクトル - 地球座標ベクトル = 黄道座標上で見える方向
黄道座標上で見える方向を赤道座標に変換 → 惑星の赤経・赤緯が確定
観測場所(緯度・経度)での地平座標に変換 → 惑星の方位角・高度が確定


概説なのでこんな感じで惑星の位置を計算していますという手順的な雰囲気が伝わればと思います。
実際はもっと細かいところまで踏み込まないと計算できません。
より詳しくは、長沢 工 先生の「天体の位置計算」を読んで自身で計算することをお勧めします。