儀鳳暦のマジックナンバー1340の謎を解く(2)天体物理の基礎用語

# はじめに

前回の記事では儀鳳暦（麟徳暦）に現れる共通分母1340の謎について探った。

https://qiita.com/TETSURO1999/items/2d8201f2d0b7fd96a60d

だがしかし，筆者は天体物理について素人であり，記事を執筆中に湧いてきたさまざまな疑問はとりあえず放置して進めざるを得なかったのだ。以下，儀鳳暦の定義式を再掲する。

```math
\begin{aligned}
\textsf{一太陽年} &= \frac{489428}{1340} = 365.24478 \,\textsf{日} \\
\textsf{一朔望月} &= \frac{39571}{1340} = 29.530597 \,\textsf{日} \\
\textsf{一近点月} &= 27 + \frac{743 + 1/12}{1340} = 27.554540 \,\textsf{日} \\
\textsf{一交点月} &= 27 + \frac{284 + 113/300}{1340} = 27.212221 \,\textsf{日} \\
\end{aligned}
```

そもそもの話として，一太陽年，一朔望月，一近点月，一交点月って何のことだ？

本記事はこれらのキーワードに関する勉強ノートである。

# そもそも一年とは何か？

と聞かれたしよう。地球が太陽の周りを回って元の位置に戻るまでの期間である，と答えても実は半分正解で半分間違いである。

正解のほうを一恒星年という。一恒星年とは地球が太陽の周りを回って元の位置に戻るまでの期間であり，一恒星年は365.2564日だ。あれれ？我々が普段見聞きする一年365.2422日と比べると少し長い。実は我々がよく目にする一年365.2422日は一太陽年のほうだ。

まず，地球の地軸は約23.4度傾いているせいで一年を通じて季節の変化が作られる。すなわち，その一年とは同じ季節に戻ってくるまでの期間ということになる。コマのような回転体はジャイロ効果により容易に倒れないのと同じく地球の地軸も非常に安定していることが季節を作る要因でもある。

```plantuml
@startuml
<style>
root {
  margin: 0;
  padding: 0;
}
caption {
  fontSize: 16;
}
</style>
sprite FIGURE <svg width="600" height="600" viewbox="0 0 600 600">
<g fill="gray">
<path d="M49 298 v8 h2 v-8" transform="rotate(8,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(12,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(16,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(20,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(24,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(28,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(32,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(36,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(40,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(44,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(48,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(52,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(56,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(60,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(64,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(68,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(72,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(76,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(80,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(84,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(96,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(100,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(104,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(108,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(112,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(116,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(120,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(124,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(128,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(132,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(136,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(140,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(144,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(148,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(152,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(156,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(160,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(164,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(168,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(168,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(172,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-12,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-16,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-20,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-24,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-28,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-32,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-36,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-40,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-44,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-48,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-52,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-56,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-60,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-64,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-68,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-72,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-76,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-80,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-84,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-96,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-100,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-104,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-108,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-112,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-116,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-120,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-124,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-128,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-132,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-136,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-140,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-144,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-148,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-152,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-156,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-160,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-164,300,300)" />
<path d="M49 298 v8 h2 v-8" transform="rotate(-168,300,300)" />
</g>
<circle cx="300" cy="300" r="20" fill="red" />
<circle cx="300" cy="300" r="20" fill="none" stroke="black"/>
<g fill="cyan">
<circle cx="50"  cy="300" r="20" fill="cyan" />
<circle cx="550" cy="300" r="20" fill="cyan" />
<circle cx="300" cy="50"  r="20" fill="cyan" />
<circle cx="300" cy="550" r="20" fill="cyan" />
</g>
<g fill="blue">
<path d="M50 320 v-40 A20 20 0 0 0 50 320" />
<path d="M550 320 v-40 A20 20 0 0 1 550 320" />
<path d="M280 50 h40 A20 20 0 0 0 280 50" />
<path d="M280 550 h40 A20 20 0 0 1 280 550" />
</g>
<g fill="none" stroke="black">
<circle cx="50"  cy="300" r="20" />
<circle cx="550" cy="300" r="20" />
<circle cx="300" cy="50"  r="20" />
<circle cx="300" cy="550" r="20" />
</g>
<g fill="red">
<path d="M48  275 v10 h4 v-10" />
<path d="M48  320 v5 h4 v-5" />
<path d="M548 275 v10 h4 v-10" />
<path d="M548 320 v5 h4 v-5" />
<path d="M298 25  v10 h4 v-10" />
<path d="M298 70  v5 h4 v-5" />
<path d="M298 525 v10 h4 v-10" />
<path d="M298 570 v5 h4 v-5" />
</g>
<g fill="blue">
<path d="M58 285 v15 h-3 l5 15 l5 -15 h-3 v-15" transform="rotate(-135,300,300)"/>
<path d="M58 285 v15 h-3 l5 15 l5 -15 h-3 v-15" transform="rotate(-45,300,300)"/>
<path d="M58 285 v15 h-3 l5 15 l5 -15 h-3 v-15" transform="rotate(45,300,300)"/>
<path d="M58 285 v15 h-3 l5 15 l5 -15 h-3 v-15" transform="rotate(135,300,300)"/>
</g>
<text x="284" y="340" fill="black" font-size="16">太陽</text>
<text x="14"  y="340" fill="black" font-size="16">地球(春分)</text>
<text x="264" y="590" fill="black" font-size="16">地球(夏至)</text>
<text x="514" y="340" fill="black" font-size="16">地球(秋分)</text>
<text x="264" y="90"  fill="black" font-size="16">地球(冬至)</text>
<text x="150" y="474" fill="black" font-size="16">地球の公転方向</text>
</svg>
title <$FIGURE>
caption 図１　非常に安定している地軸（基本的なイメージ）
@enduml
```


しかし，傾いたコマの回転軸が緩やかに回転するのと同じく地球の地軸も緩やかに向きを変えて約2万6000年という長周期で一周する。これを歳差運動という。歳差運動により同じ季節に戻る周期，すなわち一太陽年は約2万6000分の一だけ一恒星年よりも短くなる。

```math
\frac{365.2564}{365.2422} - 1 \approx \frac{1}{25721}
```

言い方を変えると，ある年の春分に対して翌年の春分までの期間が一太陽年である。一太陽年の間に地球は太陽の周りを360度回りきっていないのだ。※円軌道として359.986度

```plantuml
@startuml
<style>
root {
  margin: 0;
  padding: 0;
}
caption {
  fontSize: 16;
}
</style>
sprite FIGURE <svg width="600" height="380" viewbox="0 0 600 380">
<g fill="gray">
<path d="M49 198 v4 h2 v-4" transform="rotate(22,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(21,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(20,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(19,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(18,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(17,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(16,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(15,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(14,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-7,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-8,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-9,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-10,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-11,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-12,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-13,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-14,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-15,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-16,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-17,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-18,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-19,550,200)" />
<path d="M49 198 v4 h2 v-4" transform="rotate(-20,550,200)" />
</g>
<path d="M50 200 h500 v1 h-500" fill="black" />
<path d="M50 200 h500 v1 h-500" fill="black" />
<path d="M50 200 h500 v1 h-500" fill="black" transform="rotate(10,550,200)" />
<circle cx="550" cy="200" r="20" fill="red" />
<circle cx="550" cy="200" r="20" fill="none" stroke="black"/>
<circle cx="50" cy="200" r="20" fill="cyan" />
<path d="M50 220 v-40 A20 20 0 0 0 50 220" fill="blue" />
<circle cx="50" cy="200" r="20" fill="none" stroke="black"/>
<circle cx="57.6" cy="113.1" r="20" fill="cyan" />
<path d="M57.6 133.1 v-40 A20 20 0 0 0 57.6 133.1" fill="blue" transform="rotate(10,57.6,113.1)" />
<circle cx="57.6" cy="113.1" r="20" fill="none" stroke="black"/>
<g fill="red">
<path d="M48 175 v10 h4 v-10" />
<path d="M48 220 v5 h4 v-5" />
<path d="M48 175 v10 h4 v-10" transform="rotate(10,550,200)" />
<path d="M48 220 v5 h4 v-5" transform="rotate(10,550,200)" />
</g>
<g fill="blue">
<path d="M58 185 v15 h-3 l5 15 l5 -15 h-3 v-15" transform="rotate(-15,550,200)"/>
<path d="M58 185 v15 h-3 l5 15 l5 -15 h-3 v-15" transform="rotate(20,550,200)"/>
</g>
<text x="534" y="240" fill="black" font-size="16">太陽</text>
<text x="14" y="245" fill="black" font-size="16">地球(春分)</text>
<text x="14" y="155" fill="black" font-size="16">地球(翌年の春分)</text>
<text x="90" y="330" fill="black" font-size="16">地球の公転方向</text>
<text x="100" y="40" fill="black" font-size="16">地球の公転方向</text>
</svg>
title <$FIGURE>
caption 図２　歳差運動により僅かに向きを変える地軸
@enduml
```

:::note
もしも地球の地軸が傾いていなければ一恒星年と一太陽年は等しくなるはずだが，季節の変化は殆ど感じられなくなるだろうから一年という概念が無くなってしまうかもしれない。※近日点と遠日点（太陽との距離の差）による小さな変化は起こる。
:::

なお，歳差周期については下記の記事を参照されたい。

https://qiita.com/TETSURO1999/items/bdb8a0a19ea093eacb72

# 一朔望月とは何か？

一朔望月とは新月から次の新月までの期間である。月が公転周期である27.32日かけて地球の周りを一周したときには地球は太陽の周りを

```math
360\times \frac{27.32}{365.26} = 26.93\,\textsf{度}
```

だけ回っているため，月は360度よりも少し余分に回らなくてはならない。
※簡単のため地球の公転周期（一恒星年）365.2564日を365.26日とした。

```plantuml
@startuml
<style>
root {
  margin: 0;
  padding: 0;
}
caption {
  fontSize: 16;
}
</style>
sprite FIGURE <svg width="600" height="400" viewbox="0 0 600 400">
<g fill="gray">
<path d="M49 48 v4 h2 v-4" transform="rotate(-5,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-6,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-7,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-8,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-9,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-10,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-11,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-12,550,50)"/>
<path d="M49 48 v4 h2 v-4" ftransform="rotate(-13,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-14,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-15,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-16,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-17,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-18,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-19,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-20,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-21,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-22,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-23,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-24,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-25,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-26,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-27,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-28,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-32,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-33,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-34,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-35,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-36,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-37,550,50)"/>
<path d="M49 48 v4 h2 v-4" transform="rotate(-38,550,50)"/>
</g>
<path d="M550 50 h-50 A50 50 0 0 0 512.7 82.1" fill="pink" />
<path d="M167 371 h50 A50 50 0 0 0 206 339" fill="pink" />
<path d="M117 300 h50 A50 50 0 0 0 160 275" fill="cyan" />
<path d="M50 50 h500 v1 h-500" fill="black" />
<path d="M50 50 h500 v1 h-500" fill="black" transform="rotate(-30,550,50)" />
<path d="M50 50 h500 v1 h-500" fill="black" transform="rotate(-40,550,50)" />
<path d="M167 371 h50 v1 h-50" fill="black" />
<circle cx="550" cy="50" r="10" fill="red" />
<circle cx="550" cy="50" r="10" fill="none" stroke="black"/>
<circle cx="50"  cy="50" r="10" fill="blue" />
<circle cx="50"  cy="50" r="10" fill="none" stroke="black" />
<circle cx="100" cy="50" r="6"  fill="yellow" />
<circle cx="100" cy="50" r="6"  fill="none" stroke="black" />
<path d="M117 300 h50 v1 h-50" fill="black" />
<circle cx="117" cy="300" r="10" fill="blue" />
<circle cx="117" cy="300" r="10" fill="none" stroke="black" />
<circle cx="167" cy="300" r="6"  fill="yellow" />
<circle cx="167" cy="300" r="6"  fill="none" stroke="black" />
<circle cx="167" cy="371.4" r="10" fill="blue" />
<circle cx="167" cy="371.4" r="10" fill="none" stroke="black" />
<circle cx="206.3" cy="339.3" r="6"  fill="yellow" />
<circle cx="206.3" cy="339.3" r="6"  fill="none" stroke="black" />
<text x="533" y="30" fill="black" font-size="16">太陽</text>
<text x="33"  y="30" fill="black" font-size="16">地球</text>
<text x="92"  y="30" fill="black" font-size="16">月</text>
<text x="26" y="80" fill="black" font-size="16">基準日</text>
<text x="20" y="306" fill="black" font-size="16">27.32日後</text>
<text x="30" y="378" fill="black" font-size="16">27.32＋ΔT日後</text>
<text x="180" y="290" fill="black" font-size="16">26.93度</text>
<text x="220" y="360" fill="black" font-size="16">ΔT×360/27.32度</text>
<text x="280" y="75" fill="black" font-size="16">(27.32+ΔT)×360/365.26度</text>
<path d="M58 35 v15 h-3 l5 15 l5 -15 h-3 v-15" fill="blue" transform="rotate(-20,550,50)"/>
<text x="100" y="220" fill="black" font-size="16">地球の公転方向</text>
<path d="M115 62 v-15 h-3 l5 -15 l5 15 h-3 v15" fill="lime" />
<text x="130" y="40" fill="black" font-size="16">月の公転方向</text>
<g fill="lightgray">
<path d="M99 48 v4 h2 v-4" transform="rotate(15,50,50)"/>
<path d="M99 48 v4 h2 v-4" transform="rotate(25,50,50)"/>
<path d="M99 48 v4 h2 v-4" transform="rotate(35,50,50)"/>
<path d="M99 48 v4 h2 v-4" transform="rotate(45,50,50)"/>
<path d="M99 48 v4 h2 v-4" transform="rotate(55,50,50)"/>
<path d="M99 48 v4 h2 v-4" transform="rotate(65,50,50)"/>
<path d="M99 48 v4 h2 v-4" transform="rotate(75,50,50)"/>
<path d="M99 48 v4 h2 v-4" transform="rotate(85,50,50)"/>
<path d="M99 48 v4 h2 v-4" transform="rotate(95,50,50)"/>
<path d="M99 48 v4 h2 v-4" transform="rotate(105,50,50)"/>
<path d="M99 48 v4 h2 v-4" transform="rotate(115,50,50)"/>
</g>
</svg>
title <$FIGURE>
caption 図３ 一朔望月とは何か？
@enduml
```

新月から次の新月まで月の公転周期27.32日に加えて $\Delta T$ 日だけ余分に要するとして

```math
(27.32 + \Delta T) \times \frac{360}{365.26} = \Delta T \times \frac{360}{27.32}
```

という式が成り立つ。これより $27.32 + \Delta T$ を求めることにする。まず，両辺に $365.26/360$ をかける。

```math
27.32 + \Delta T = \Delta T \times \frac{365.26}{27.32}
```

次に両辺に $365.26$ を加える。

```math
\begin{aligned}
365.26 + (27.32 + \Delta T) &= 365.26 + \Delta T \times \frac{365.26}{27.32} \\
&= (27.32 + \Delta T) \times \frac{365.26}{27.32} \\
(27.32 + \Delta T)\left( \frac{365.26}{27.32} - 1 \right)  &= 365.26 \\
27.32 + \Delta T &= \frac{365.26 \times 27.32}{365.26 - 27.32} = 29.53
\end{aligned}
```

以上より，一朔望月29.53日を得られた。なお，この計算は簡単のため地球の公転軌道も月の公転軌道も円軌道と近似した。すなわち一朔望月の平均値を求めたことになる。実際にはどちらも楕円軌道のため，平均値を中心として変動することになる。

# 一近点月とは何か？

一近点月とは月が地球に一番近い場所（近地点）から出発し，月の公転軌道を一周して再び近地点に戻るまでの期間のことをいう。月の公転周期27.32日と同じになりそうなものだが，太陽の影響で月の楕円軌道は公転と同じ方向に移動し，約8.85年で一周する。次の近地点が遠ざかることにより一近点月は公転周期27.32日よりも僅かに長くなり，平均27.55日となる。

```plantuml
@startuml
<style>
root {
  margin: 0;
  padding: 0;
}
caption {
  fontSize: 16;
}
</style>
sprite FIGURE <svg width="500" height="500" viewbox="0 0 500 500">
<g fill="gray">
<path d="M49 48 v4 h2 v-4" transform="rotate(0,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-1,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-2,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-3,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-4,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-5,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-6,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-7,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-8,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-9,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-10,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-11,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-12,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-13,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-14,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-15,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-16,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-17,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-18,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-19,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-20,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-21,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-22,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-23,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-24,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-25,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-26,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-27,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-28,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-29,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-30,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-31,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-32,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-33,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-34,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-35,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-36,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-37,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-38,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-39,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-40,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-41,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-42,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-43,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-44,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-45,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-46,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-47,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-48,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-49,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-50,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-51,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-52,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-53,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-54,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-55,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-56,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-57,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-58,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-59,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-60,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-61,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-62,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-63,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-64,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-65,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-66,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-67,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-68,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-69,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-70,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-71,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-72,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-73,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-74,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-75,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-76,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-77,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-78,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-79,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-80,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-81,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-82,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-83,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-84,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-85,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-86,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-87,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-88,450,50)" />
<path d="M49 48 v4 h2 v-4" transform="rotate(-89,450,50)" />
</g>
<circle cx="450" cy="50" r="20" fill="red" />
<circle cx="450" cy="50" r="20" fill="none" stroke="black" />
<circle cx="103" cy="250" r="10" fill="blue" />
<circle cx="103" cy="250" r="10" fill="none" stroke="black" />
<ellipse cx="83" cy="250" rx="50" ry="25" fill="none" stroke="black" />
<circle cx="133" cy="250" r="5" fill="yellow" />
<circle cx="133" cy="250" r="5" fill="none" stroke="black" />
<circle cx="192" cy="356" r="10" fill="blue" />
<circle cx="192" cy="356" r="10" fill="none" stroke="black" />
<ellipse cx="172" cy="356" rx="50" ry="25" fill="none" stroke="black" transform="rotate(-20,192,356)" />
<circle cx="220" cy="344" r="5" fill="yellow" />
<circle cx="220" cy="344" r="5" fill="none" stroke="black"/>
<circle cx="313" cy="426" r="10" fill="blue" />
<circle cx="313" cy="426" r="10" fill="none" stroke="black" />
<ellipse cx="293" cy="426" rx="50" ry="25" fill="none" stroke="black" transform="rotate(-40,313,426)" />
<circle cx="335" cy="405" r="5" fill="yellow" />
<circle cx="335" cy="405" r="5" fill="none" stroke="black"/>
<path d="M58 35 v15 h-3 l5 15 l5 -15 h-3 v-15" fill="blue" transform="rotate(-20,450,50)"/>
<text x="435" y="90" fill="black" font-size="16">太陽</text>
<text x="55" y="256" fill="black" font-size="16">地球</text>
<text x="143" y="256" fill="black" font-size="16">月</text>
<text x="95" y="185" fill="black" font-size="16">地球の公転方向</text>
<path d="M70 285 h15 v3 l15 -5 l-15 -5 v3 h-15" fill="lime" />
<text x="20" y="310" fill="black" font-size="16">月の公転方向</text>
</svg>
title <$FIGURE>
caption 図４　一近点月とは何か？（地球の公転軌道を真上から見た図）
@enduml
```
# 一交点月とは何か？

月の公転軌道面（白道）は地球の公転軌道面（黄道）に対して約5.1度傾斜している。月の公転軌道面は，この傾斜角を保ったまま公転とは反対方向に緩やかに面の向きを変えていき約18.6年で一周する。月の軌道が黄道面と交わる点が２つあり，南側から通過する点を昇交点，北側から通過する点を降交点と呼ぶ。

```plantuml
@startuml
<style>
root {
  margin: 0;
  padding: 0;
}
caption {
  fontSize: 16;
}
</style>
sprite FIGURE <svg width="550" height="500" viewbox="0 0 550 500">
<path d="M500 50 l-69.5 3.0 l-67.3 9.0 l-63.2 14.7 l-57.1 20.0 l-49.3 24.7 l-40.0 28.6 l-29.5 31.6 l-18.0 33.7 l-6.1 34.7 l6.1 34.7 l18.0 33.7 l29.5 31.6 l40.0 28.6 l49.3 24.7 l57.1 20.0 l63.2 14.7 l67.3 9.0 l69.5 3.0" fill="lightyellow" />
<path d="M500 250 h-400 v1 h400" fill="black" />
<circle cx="500" cy="250" r="20" fill="red" />
<circle cx="500" cy="250" r="20" fill="none" stroke="black" />
<path d="M100 250 h-49 v1 h49" fill="black" transform="rotate(10,100,250)"/>
<path d="M100 250 h49 v1 h-49" fill="black" transform="rotate(10,100,250)"/>
<circle cx="100" cy="250" r="10" fill="blue" />
<circle cx="100" cy="250" r="10" fill="none" stroke="black" />
<ellipse cx="100" cy="250" rx="60" ry="40" fill="none" stroke="black" transform="rotate(-30,100,250)"/>
<circle cx="70" cy="295" r="5" fill="yellow" />
<circle cx="70" cy="295" r="5" fill="none" stroke="black" />
<circle cx="147" cy="259" r="2" fill="black" />
<circle cx="52" cy="242" r="2" fill="black" />
<text x="485" y="290" fill="black" font-size="16">太陽</text>
<text x="85"  y="280" fill="black" font-size="16">地球</text>
<text x="62"  y="318" fill="black" font-size="16">月</text>
<text x="155" y="270" fill="black" font-size="16">昇交点</text>
<text x="5"   y="235" fill="black" font-size="16">降交点</text>
<path d="M90 305 h15 v3 l15 -5 l-15 -5 v3 h-15" fill="lime" transform="rotate(-30,90,250)"/>
<text x="145" y="297" fill="black" font-size="16">月の公転方向</text>
<text x="250" y="350" fill="black" font-size="16">地球の公転軌道面(黄道面)</text>
<path d="M285 420 h15 v3 l15 -5 l-15 -5 v3 h-15" fill="blue" transform="rotate(20,300,200)"/>
<text x="90" y="410" fill="black" font-size="16">地球の公転方向</text>
</svg>
title <$FIGURE>
caption 図５　一交点月とは何か？
@enduml
```

月が昇交点を通過してから次に昇交点を通過するまでの期間を一交点月と呼ぶ。月の公転周期27.32日と同じになりそうなものだが，月の軌道面が公転とは逆方向に移動する，すなわち次の昇交点が近づくことにより公転周期27.32日よりも僅かに短くなり，一交点月は27.21日となる。

# まとめ

こうして比較してみると麟徳暦の諸定数は恐るべき精度であることが分かる。

<table>
<caption>表１　麟徳暦の精度</caption>
<thead>
<tr><th rowspan="2" style="text-align:center">周期</th>
    <th rowspan="2" style="text-align:center">①麟徳暦の値</th>
    <th colspan="2" style="text-align:center">国立天文台の値</th>
    <th rowspan="2" style="text-align:center">相対精度<br>①／②－１</th></tr>
<tr><th style="text-align:center">②665年当時</th>
    <th style="text-align:center">③2024年現在</th></tr>
</thead>
<tbody>
<tr><td style="text-align:center">一太陽年</td>
    <td style="text-align:right">365.244776日</td>
    <td style="text-align:right">365.24227250日</td>
    <td style="text-align:right">365.24218892日</td>
    <td style="text-align:right">6.9×10⁻⁶</td></tr>
<tr><td style="text-align:center">一朔望月</td>
    <td style="text-align:right">29.530597日</td>
    <td style="text-align:right">29.53058579日</td>
    <td style="text-align:right">29.53058892日</td>
    <td style="text-align:right">3.8×10⁻⁷</td></tr>
<tr><td style="text-align:center">一近点月</td>
    <td style="text-align:right">27.554540日</td>
    <td style="text-align:right">27.55456350日</td>
    <td style="text-align:right">27.55454964日</td>
    <td style="text-align:right">-8.6×10⁻⁷</td></tr>
<tr><td style="text-align:center">一交点月</td>
    <td style="text-align:right">27.212221日</td>
    <td style="text-align:right">27.21221548日</td>
    <td style="text-align:right">27.21222092日</td>
    <td style="text-align:right">2.2×10⁻⁷</td></tr>
</tbody>
</table>

特に月の軌道周期の観測精度が高く，その中でも一交点月の精度は高い。日食・月食が起こるためには昇交点または降交点の位置が地球から見た太陽の方向と重なる必要がある。おそらく日食・月食の予測精度を上げるため，一交点月の精度を限りなく高めたのだと思われる。

:::note
本記事の初稿では2024年現在の値と比較していたが，これらの軌道周期は経年変化があることから改めて麟徳暦の施行開始年（665年当時）の値に換算して比較してみた。実は2024年現在の値と比較したほうが誤差は小さくなるが，別に李淳風（麟徳暦の選者）が21世紀から7世紀へタイムリープした訳ではない。単なる偶然である。
:::

# 参考文献

- 理科年表2024，国立天文台，丸善出版
- [国立天文台＞暦計算室＞暦Wiki＞季節のめぐる周期](https://eco.mtk.nao.ac.jp/koyomi/wiki/B5A8C0E12FB5A8C0E1A4CEA4E1A4B0A4EAA4CEBCFEB4FC.html)
- [国立天文台＞暦計算室＞トピックス＞月の満ち欠け：朔望](https://eco.mtk.nao.ac.jp/koyomi/topics/html/topics2010.html)
- [国立天文台＞暦計算室＞暦Wiki＞月の周期　月の公転](https://eco.mtk.nao.ac.jp/koyomi/wiki/BCFEB4FC2FB7EE.html)
- [国立天文台＞暦計算室＞暦Wiki＞月の公転　月の運動は複雑](https://eco.mtk.nao.ac.jp/koyomi/wiki/B7EEA4CEB8F8C5BEB1BFC6B0.html)
- [国立天文台＞暦計算室＞暦Wiki＞月の公転運動　月の楕円はぐるぐる回る（近地点方向）](https://eco.mtk.nao.ac.jp/koyomi/wiki/B7EEA4CEB8F8C5BEB1BFC6B02FB6E1C3CFC5C0CAFDB8FE.html)
- [国立天文台＞暦計算室＞暦Wiki＞月の公転運動　月の楕円はぐるぐる回る（昇交点方向）](https://eco.mtk.nao.ac.jp/koyomi/wiki/B7EEA4CEB8F8C5BEB1BFC6B02FBEBAB8F2C5C0CAFDB8FE.html)