見出し画像

『百万年暦』のための正確な1年の近似式

タイトル画は、映画『紀元前百万年』というSF映画?の1シーンです。百万年前の人類が、巨大爬虫類/恐竜?と思しき生物と戦っている場面です。百万年前には、まだホモサピエンスは登場していませんし、恐竜なら既に絶滅しています。どちらにしても中途半端な時代考証のSF映画です。はっきりは覚えてはいませんが、子供の頃、テレビの『○○ロードショー』で見たような記憶があります。

大昔はその日暮らしでしょうから、一日の区切りは意識していても、年単位の区切りは意識していなかったでしょう。しかし、定住生活が一般的になり、狩猟生活から農耕生活に変わっていく過程で、季節や一年を意識するようになったのでしょう。古代エジプトでは、ナイル川の氾濫が肥沃な土地をもたらしますから、暦は生活に必要なものだったでしょう。

最も基本的な暦の基準は、月の満ち欠けです。これは28日周期で、新月から満月を繰り返しますから、まとまった時間の単位には持って来いです。現在でも、日本では1月・2月・・・と”月”を単位として数えています。また、英語の month も moon (月)が由来です。1週間が7日になったのも、月の満ち欠けの周期である28日の1/4をひとまとめに考えたからです。

時間の単位は、年⇒月⇒週⇒日⇒時⇒分⇒秒と、どんどん細かくなっていきました。最初は月の満ち欠けを使った太陰暦でしたが、これでは次第に一年がズレていきました。そこで、太陽の公転周期を使う太陽暦が使われるようになりました。しかし、太陽の公転周期は365日ピッタリではなく、正確には365.242190402・・・日です。つまり、1年毎に約0.2421904024・・・日のズレが生じます。これを補正するのが、閏年での2月29日です。

カレンダーの曜日の計算をするための有名なアルゴリズムは『Zellerの公式』です。これを使うと万年暦といって、一万年使える暦が作れます(ウソ)。しかし、実際は1万年で3日程度のズレが生じてしまいます。そこで30万年は使える公式についての記事を書きました↓↓。しかし、この式を使っても100万年で3日程度のずれが生じてしまいます。そこで、さらに精度の良い近似式を考案しました。

   およそ正確な1年の日数               = 365.242190402・・・
 以前の1年の式: 365+1/4-1/100+1/400-1/3200       = 365.2421875  
 新しい1年の式: 365+1/4-1/100+1/400-1/3200+1/345600
                                                                                        = 365.242190394

新しい式では、3200年毎に補正した際の小さなズレを、345600年毎に補正しています。この式は試行錯誤して手作りしましたが、”除数となる分母が一つ前の分母の公倍数になっている”のがキモです。新しい1年の式は、小数点以下6桁まで正しく、7桁目から僅かに異なっています。この式を使えば、100万年は正しい暦(=百万年暦)が作れます。ただし、人類が滅亡していなければの話ですが・・・。

次回の記事では、この式を応用した簡単なプログラムを紹介したいと思います。

この記事が気に入ったらサポートをしてみませんか?