月/月相アルゴリズム

スコットベイリー:

特定の日付の月相または年齢を計算するアルゴリズム、または特定の年の新月/満月の日付を見つけるアルゴリズムを知っている人はいますか?

グーグルは答えはいくつかの天文学の本にあると私に教えてくれますが、私は本当に私が単一のページだけを必要とするときに本全体を購入したくありません。

更新:

私はググリングについての私の声明をもう少し良くするべきでした。(1900年代のように)一部の時間でしか機能しないソリューションを見つけました。そして、trigベースのソリューションは、私が望んでいるよりも計算コストが高くなります。

Pythonの本のS Lottは、特定の年のイースターを計算するためのいくつかのアルゴリズムを持っています。ほとんどは10行未満のコードであり、一部はグレゴリオ暦のすべての日に機能します。3月に満月を見つけることはイースターを見つけるための重要な部分であるため、トリガーを必要とせず、グレゴリオ暦のすべての日付で機能するアルゴリズムがあるはずだと考えました。

ケターン:

しばらくの間、私はいくつかのコードをPythonに移植しました。ただリンクするつもりでしたが、その間にウェブから落ちてしまったので、ほこりをかいて再度アップロードしました。John Walkerのmoontoolから派生したmoon.py参照してください

どちらの期間でも正確な期間については、これについての参考文献を見つけることはできませんが、著者はかなり厳格だったようです。つまり、はい、これはトリガーを使用しますが、これを何のために使用すると、計算上非常に困難になるか想像できません。Python関数呼び出しのオーバーヘッドは、おそらくトリガー操作のコスト以上です。コンピュータはコンピューティングがかなり速いです。

コードで使用されるアルゴリズムは、次のソースから取得されます。

Meeus、Jean。天文アルゴリズム。リッチモンド:Willmann-Bell、1991。ISBN0-943396-35-2。

必須アイテム。本を1冊しか購入しない場合は、この本であることを確認してください。アルゴリズムはコンピュータープログラムとしてではなく数学的に提示されますが、本のアルゴリズムの多くを実装するソースコードは、QuickBasic、Turbo Pascal、またはCのいずれかで出版社から個別に注文できます。Meeusは、デバッグに不可欠な多くの計算例を提供あなたのコードは、正確さ、速度、複雑さ、そして長期的(数世紀から数千年)の妥当性の間で異なるトレードオフを持ついくつかのアルゴリズムを頻繁に提示します。

ダッフェ・スミス、ピーター。あなたの電卓で実用的な天文学。第三版 ケンブリッジ:Cambridge University Press、1981。ISBN0-521-28411-2。

タイトルに「電卓」という言葉があるにもかかわらず、これは、惑星の位置、軌道、日食などを計算するソフトウェアの開発に興味がある場合に役立つリファレンスです。Meeusよりも多くの背景情報が提供されます。これは、天文学にまだ精通していない人が、しばしば混乱する用語を学ぶのに役立ちます。与えられたアルゴリズムは、Meeusが提供するアルゴリズムよりも単純で正確ではありませんが、ほとんどの実際的な作業に適しています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事