※「セキュリティ保護のため...」というメッセージが出る方・日本語が入力できない方へ
←↑→ 天体計算の基礎(6)


第6章 太陰太陽暦の計算方法

これは今回のプログラムに関連する説明という点からは完全な寄り道であるが、
今回のデータを旧暦によって分析する、或は旧暦から導かれる日の属性により
分析することに挑戦してみたい方の為に、太陰太陽暦の計算方法について説明
する。

【太陽暦】

その前に太陽暦について復習しておこう。現在世界的に使用されている暦は
太陽暦と呼ばれ、太陽の運行に準拠して組み立てられたものである。

現在世界的に使用されている暦は16世紀に法王グレゴリウス13世が定めた
もので、グレゴリウス暦と呼ばれる。これは1年を基本的に365日とし、月
の長さを1月=31日,2月=28日,3月=31日,4月=30日,5月=31日,6月=30日,
7月=31日,8月=31日,9月=30日,10月=31日,11月=30日,12月=31日,と固定
で定義する。

但し、年の数字が4で割り切れる年は2月に1日を加えて29日迄とする。(閏日)
しかし、年の数字が100で割り切れ400で割り切れない年には閏日を置かない。

【太陰太陽暦の月】

以下で説明するのは天保13年(1842年)に制定され(施行=弘化元年,1844)明治5年
(1872)まで日本で行われた「天保(壬寅)暦」を現代風のシステムに移行した、いわば
「改訂・天保暦」である。

改訂・天保暦では、月の始まりを、太陽の中心の黄経と月の中心の黄経が一致する
(つまり太陽と月の合の)瞬間が所属する、日本標準時による日と定義する。

例えば、太陽と月の合が日本標準時で7月5日の23:50に起きたとしよう。この時
この時刻を東京の地方時で測ってしまうと7月6日の0:09くらいになってしまう。
これがどこの時刻を使うかを定めておかなければならない理由である。(実際の
天保暦では京都の地方時が使用されていた)


【閏月の発生】

さて、太陽と月の合は平均すると 29.530589日毎に発生するので、この12回の
繰返しによって年を決めてしまうと、1年の平均の長さは 354.367068日になり、
1平均太陽年 365.2422日との間に、約11日の誤差を生じる。

そこで改訂天保暦ではこれを19年に7回くらい閏月を挿入することによって調整する。
 19×12+7=235, 235×29.530589=6939.688415, 365.2422×19=6939.6018

この閏月の入れ方を説明する前に、24節気というものを説明しなければならない。

【24節気】
旧暦は月の運行と合っている為、潮の満ち引きと一致するので、漁業には都合のよい
暦であるが、わが国の基幹産業であった農業の都合からすると実際の季節の動きとの
ずれが大きいため、大変不都合であった。その為利用されたのが24節気である。

これは月の運行とは無関係に太陽が黄道上の一定のポイントに来た時として定義する。

     黄経       黄経       黄経 
 ☆小寒 285゜    ☆立夏   45゜     ☆白露  165゜  
   大寒  300゜      小満   60゜      秋分  180゜  
  ☆立春  315゜     ☆芒種   75゜     ☆寒露  195゜  
   雨水  330゜      夏至   90゜      霜降  210゜  
  ☆啓蟄  345゜     ☆小暑  105゜     ☆立冬  225゜  
   春分    0゜      大暑  120゜      小雪  240゜  
  ☆清明   15゜     ☆立秋  135゜     ☆大雪  255゜  
   穀雨   30゜      処暑  150゜      冬至  270゜  

24節気には「節気」と「中気」がある。上記で☆を付けたのが「節気」で、無印が
「中気」である。

改訂天保暦では、基本的には中気を含まない月を閏月にする。しかし、それでは閏月
が多くなりすぎる為、中気を含まない月を必ず閏月にする訳ではない。

これは次のように適用する。すなわち、冬至を含む月は必ず11月、春分を含む月は
必ず2月、夏至を含む月は必ず5月、秋分を含む月は必ず8月とする。この規則を
適用した結果閏月にしてしまうと月の数が足りなくなる場合には、中気を含まない
月でも閏月にはしないのである。

【太陰太陽暦の日から直ちに導かれるもの】

(1)六曜
   六曜は太陰太陽暦の1月1日が先勝、2月1日が友引、3月1日先負、4月
   1日仏滅、5月1日大安、6月1日赤口(シャック)、7月1日先勝、8月1日友引、
   9月1日先負、10月1日仏滅、11月1日大安、12月1日赤口、と定め、
   その後は毎日先勝・友引・先負・仏滅・大安・赤口の順に繰返すものである。

(2)二十七宿
   角・亢・テイ・房・心・尾・箕・斗・女・虚・危・室・壁・奎・婁・胃・昴・畢・
   觜・参・井・鬼・柳・星・張・翼・軫の順に番号1〜27をふっておこう。
   太陰太陽暦の各月の1日の二十七宿は、1月=12,2月=14,3月=16,4月=18,5月=20,
      6月=22,7月=25,8月=1,9月=3,10月=5,11月=8,12月=10である。後は各月毎に
   1日1つずつ足して行けばよい。


【節月について】

民間の暦において、旧暦とともに重要なのは節月である。これは太陰太陽暦ではなく、
一種の完全な太陽暦である。(グレゴリウス暦よりも徹底的な太陽暦と言うことが
できる〜グレゴリウス暦は数学的に定義されるものであり、太陽の実際の運行は全く
無視している!)

これは先程説明した24節気の節の日を月の初めとするものである。むろん「節の日」
とは、改訂天保暦と同様日本標準時で判断する。

ここで節月の1月は立春で始まる月とする。

実際問題として、東洋系の占いで問題にする「年」は立春から節分までの1年とする
ことが多く、これを計算してみて、節月を元にした各種の特殊な日の近くに長寿者が
いないか、などと調べてみるのも面白い問題ではないか、と思う。


【中国暦について】

占いの種類によっては、日本の暦を使わずに、中国の暦を使うものもある。その導き
方について、簡単に注意する。

そもそも日本の太陰太陽暦は中国の太陰太陽暦を参考にして定められたものなので、
仕組みは、ほぼ同じと考えてよい。ただし、その場合に気を付けなければならない
のは、太陽と月の合が起きる瞬間や24節気の瞬間の所属する日の問題である。

中国の暦を導く場合には、これは当然中国の標準時を使用しなければならない。


【合の瞬間や節気の瞬間の計算方法】

これは難しくはないが、面倒な処理である。また処理時間も相当食うことを覚悟する
必要がある。簡単に説明する。

例えば、ある時刻の直前の、太陽と月が合になる時刻を求めたいとする。その為には
まずその時刻の太陽と月の黄経を求める。するとそこから比例計算により、合が発生
する時刻のおおまかな値が求められる筈である。

大まかな値が求められたら、その時刻の太陽と月の黄経を又求める。それは一回では
ピタリと一致しないであろうが、かなり近い値にはなっているものと思われる。そこ
からまた比例計算で、本来の合の時刻を推算する。

この処理を、必要な精度が得られるまで繰り返して行けばよい。

節気を求める処理は太陽の運行だけの問題なので、もっと簡単になるが、やり方は
同じである。

※ こういった計算は、毎回毎回現在のプログラムのロジックで計算するよりも、
  1日おきくらいの各惑星の角度を、少々の^^;;時間がかかっても構わないから
  あらかじめ計算してファイル化しておき、その中間の値はラグランジュ法等に
  より補間計算を行った方が良いように思う。そうすると多分10倍くらいは
  スピードアップするのではないか。

 (月や水星はもう少し細かく取らないといけないかも知れない。逆に天海冥辺りに
  ついては5日か10日おきくらいでもよいかも知れない。このあたりの最適な値
  を見つけるのも、始めたら結構時間を使いそうな気がする。)


(1993-2-20)

←↑→
(C)copyright ffortune.net 1995-2007 produced by ffortune and Lumi.
お問い合わせはこちらから