ライブラリ

Ruby 用にいくつかライブラリを書いたので、ここでもまとめておく。

julian_day
ユリウス日をベースにグレゴリオ暦ユリウス暦を扱う。
jpleph
JPL DE/LE の計算をし、太陽や月、惑星などの位置を求める。コアの部分は書いたが、細かなところなどがいまいちなので、現在未公開。 C 言語で書かれているため、ある程度速い。
celes
IAU SOFA ライブラリの Ruby ラッパ。オリジナルとくらべて、引数や返り値の取り方なんかを少々変更。章動など大量の係数を利用する計算などができる(JPL DE/LE にも章動のデータは含まれているが古いモデルのもの)。 C 言語で書かれているため、ある程度速い。
computus
キリスト教の復活祭を計算する。

Sphinx で Ruby の API ドキュメントを書く

Ruby のライブラリ用に API ドキュメントを書く際に、簡単な数式(ギリシア文字、上付き、バー、行列など)を使いたかったため Sphinx を検討してみた。

Sphinx については初めて触ったので、よくわからない状態。

追記:やっぱり YARD を使う感じに。

続きを読む

日月惑星の位置の求め方

いくつかあります。

  • 理科年表の値を用いて任意時刻の値を補間
  • 国立天文台 暦計算室 暦象年表の値を用いて任意時刻の値を補間(2009〜2014年;執筆時現在)
    • 赤経・視赤緯、視黄経・視黄緯、日心黄経・日心黄緯
  • 海上保安庁 海洋情報部 天測暦付録の計算式を用いて任意時刻の値を計算(2008〜2013年;執筆時現在)
  • JPL DE/LE を用いて任意時刻の値を計算(JPL DE405 の場合1600〜2200年)
    • ICRS 直交座標
  • The Astronomical Almanac の計算式を用いて任意時刻の値を計算(2001〜2013年;執筆時現在)
  • The Astronomical Almanac の軌道要素を用いて任意時刻の値を計算(2008〜2012年;執筆時現在)
    • 瞬時の平均黄道春分点における日心の真位置;地球月重心を含め惑星のみ
  • JPL's HORIZONS の値を用いて任意時刻の値を補間(1600〜2200年)
    • オプションにより様々な形式

このうち暦象年表と HORIZONS のウェブ版は非常に細かく時間の指定ができるため、秒レベルであれば値を取得し、補間計算を行う必要はありません。

続きを読む

ΔT

地球の自転速度は一定ではありません。長期的には徐々に遅くなっているものの、短期的には細かく変動しています。

物理学的・天文学的な時間と歴史学的・暦学的・日常生活上の時間との誤差は時代によって異なるため、それを把握しなければ相互変換できません。

ということで ΔT について。

続きを読む

Android メモ

iPhone から Android に変えたので、わからなかった基本的なことをメモ。購入したのはドコモの ARROWS V F-04E (Android 4.0.4) 。

今までまったくアンテナ伸ばしてなかったのでわからないことだらけ。というか、ドコモの説明不足なだけの気がする。最初からエラーメッセージ*1がでるとかどうなのよ。

困ったことが起きるたび加筆予定。

*1:○○パスワードが設定されてません的な

続きを読む