月が満ち欠けして見えるのは、地球から見て太陽と月の離れる角度が変わり、月の太陽に照らされている部分と照らされない部分の見え方が変わるからだ。

月の黄径と太陽の黄径が一致したとき、月の太陽に照らされる部分が地球からは見えない、そんな状態の月を新月という。太陰暦(旧暦)では新月を含む日を月の第1日としているのがその名の由来。

太陽暦が1年約365日に対して、太陰暦は1年354日。ということで、1年(太陽暦)のなかで、新月の日になるのは、12回か13回。

新月の夜は暗いので、犯罪が多いといわれている。
このプログラムでは新月の日を教えてくれる。占いや犯罪防止に役立つかな(笑)。

すごいプログラムだろう、と自慢したくなるが、太陽と月の位置計算関数があれば大したことでもないはず。

<プログラム本体>
  newMoon.c —- 新月の日の計算

<入力>
  求めたい年(西暦年)
  
<出力>
  計算した、新月の日(年間12回か13回)の画面表示

実行例

<注意事項>
  関数 solarPos()太陽の位置計算)、および、関数 lunarPos()月の位置計算) が必要。
  また、関数 ut2jd()ユリウス日への換算)、jd2ut()ユリウス日からの換算)も必要。

<説明>
  年の365(または366)日に対し、太陽と月の黄径をそれぞれ計算し、位置がもっとも近い日を新月の日とする計算。
  なお、日付は日本標準時に修正してある。海外では1日ずれることもある。

  新月の日(2003年版、13回)
  1/3、 2/1、3/3、4/2、5/1、5/31、6/30、7/29、8/28、9/26、10/25、11/24、12/23。

  新月の日(2004年版、12回)
  1/22、 2/20、3/21、4/19、5/19、6/18、7/17、8/16、9/14、10/14、11/12、12/12。

Comments are closed.

Post Navigation