2020年7月4日土曜日

寛政暦の暦法 (2) 日躔 (2) ケプラーの法則と均数、実行、定気日時


前回
は、寛政暦における日躔(太陽の運行)について、平気の節気、および、平均要素(太陽の平均黄経(平行)、平均近点黄経(最卑平行)、および、平均近点角(引数)の算出まで説明した。

今回は、中心差(均数)、および、真黄経(実行)の算出について。
寛政暦での中心差の算出は、ケプラーの楕円軌道モデルに依っているので、ケプラーの法則(特に、第二法則(面積速度一定の法則))についても併せて説明する。

中心差(「均数」)の算出

本天大半径一千萬小半径九百九十九萬八千五百七十二小余四二
両心差十六萬八千九百六十六
求均数「以二千萬為一辺、倍両心差為一辺、引数為所夾之角(六宮内引数即為所夾之角、六宮外引数与全周相減余為所夾之角)、用切線分外角法(以所夾之角減半周余折半之、為半外角。大辺小辺相加得数為一率、相減得数為二率、半外角之正切線為三率、求得四率為正切線検表得半較角。与半外角相減、得対小辺之角。凡用切線分外角法者、後倣此)、求得対倍両心差之角。又以本天小半径為一率、大半径為二率、引数(即前所夾之角)之正切線為三率、求得四率正切線検表(即八線表。凡用度数査八線、度数過一象限者与半周相減、過半周者減半周、過三象限者与全周相減。後倣之)、得度分秒与引数相減、余角最卑前後各三宮、与対倍両心差之倍角相加、最高前後各三宮与対倍両心差之倍角相減(〇一二宮為最卑後、九十十一宮為最卑前、三四五宮為最高前、六七八宮為最高後)、得均数。引数初宮至五宮為加、六宮至十一宮為減」
二千萬を以って一辺と為し、倍両心差、一辺と為し、引数、夾むところの角と為し(六宮内の引数即ち夾むところの角と為し、六宮外の引数、全周と相減じ余り夾むところの角と為す)、切線分外角法を用ゐ(夾むところの角を以って半周より減じ余りこれを折半し、半外角と為す。大辺小辺相加へ得る数一率と為し、相減じ得る数二率と為し、半外角の正切線三率と為し、求めて得る四率、正切線と為し表を検じ半較角を得。半外角と相減じ、対小辺の角を得。凡そ切線分外角法を用うるは、後、此に倣へ)、求めて対倍両心差の角を得。又、本天小半径を以って一率と為し、大半径二率と為し、引数(即ち前の夾むところの角)の正切線三率と為し、求めて得る四率、正切線と為し表を検じ(即ち八線表。凡そ度数を用ゐ八線を査するは、度数一象限を過ぐるは半周と相減じ、半周を過ぐるは半周より減じ、三象限を過ぐるは全周と相減ず。後、これに倣へ)、得る度分秒、引数と相減じ、余角、最卑前後各三宮、対倍両心差の倍角と相加へ、最高前後各三宮、対倍両心差の倍角と相減じ(〇一二宮最卑後と為し、九十十一宮最卑前と為し、三四五宮最高前と為し、六七八宮最高後と為す)、均数を得。引数、初宮より五宮に至るは加と為し、六宮より十一宮に至るは減と為す。
\[ \begin{align}
\text{本天大半径} &= \text{楕円長半径}\, a = 1 \\
\text{両心差} &= \text{離心距離}\, ae = \text{離心率}\, e = 0.0168966 \\
\text{本天小半径} &= \text{楕円短半径}\, b = 0.999857242 &(= a \sqrt{1 - e^2}) \\
\text{対倍両心差の角} &= \text{切線分外角法}(\text{大辺} = 2, \text{小辺} = 2e, \text{夾角} = \text{引数}) \\
\text{楕円差角} &= \tan^{-1} \left( {a \sin(\text{引数})\over b \cos(\text{引数})} \right) - \text{引数} \\
\text{均数} &= 2 \times \text{対倍両心差の角} + \text{楕円差角} \\
\end{align} \]

[切線分外角法]
\[ \begin{align}
& \text{切線分外角法}(\text{大辺}, \text{小辺}, \text{夾角}) = \text{対小辺の角}, \text{when:} \\
& \left| \begin{aligned}
\text{半外角} &= {{180° - \text{夾角}} \over 2} \\
\text{半較角} &= \tan^{-1} \left({(\text{大辺} - \text{小辺}) \sin(\text{半外角}) \over (\text{大辺} + \text{小辺}) \cos(\text{半外角})} \right) \\
\text{対小辺の角} &= \text{半外角} - \text{半較角} \\
\end{aligned} \right. \\
\end{align} \]
暦法新書(寛政)で記載されている本天大半径・小半径(公転楕円の長半径・短半径)は、それぞれ、10,000,000 ・ 9,998,572.42 とされ、両心差(離心距離、つまり軌道中心と楕円の焦点に位置する地心との距離。長半径×離心率)は、168,966 とされているが、私の式では、長半径を 1 とし、短半径、離心距離(長半径 = 1 なので、離心率に等しい)は、それぞれ、0.999857242, 0.0168966 とすることにする。

なお、楕円では、
\( \text{短半径} = \text{長半径} \sqrt{1 - (\text{離心率})^2} \)
という関係にある。
右の図で、長半径 = AO = CO = 1 とし、楕円の焦点を E, E' とする。小半径上の点を B, D とする。楕円において、楕円上の点と二つの焦点との距離の和は、長直径(長半径×2)に等しい。よって、BE' + BE = 2。
三角形 BE'E は 二等辺三角形なので、BE' = BE = 1。OE = OE' = 離心率 e。よって、三平方の定理により、
\( \text{BO} = \sqrt{\text{BE}^2 - \text{EO}^2} = \sqrt{1 - e^2} \)

切線分外角法

まずは、「切線分外角法」について。
これは、⊿ABCがあり、∠A の対辺の長さが a, ∠B の対辺の長さが b であるとし、この二つの辺の長さと、挟角 ∠C が与えられたとき、小辺 b の対角 ∠Bの大きさを求めよ、という問題の解法である。

これは、三角形の正接定理によって解くことができる。正接定理は、
\( \dfrac{a - b}{a + b} = \dfrac{\tan \dfrac{1}{2} (\angle A - \angle B)}{\tan \dfrac{1}{2} (\angle A + \angle B)} \)
であるが、
\[ \begin{align}
\text{半外角} \alpha &= {1 \over 2}(180° - \angle C) = {1 \over 2}(\angle A + \angle B) \\
\tan {1 \over 2}(\angle A - \angle B)  &= {{a - b} \over {a + b}} \tan \alpha \\
\text{半較角} \beta  &= {1 \over 2}(\angle A - \angle B) = \tan^{-1} \left( {{a - b} \over {a + b}} \tan \alpha \right) \\
\angle B &= {1 \over 2}(\angle A + \angle B) - {1 \over 2}(\angle A - \angle B) \\
&= \text{半外角} \alpha - \text{半較角} \beta \\
&= {180° - \angle C \over 2} - \tan^{-1} \left( {{a - b} \over {a + b}} \tan {180° - \angle C \over 2} \right)
\end{align} \]
なお、大辺 a の長さを求めたければ、「半外角 + 半較角」で求まる。

ATAN2 の使用について

上の方で記載した楕円差角の式では、
\[ \text{楕円差角} = \tan^{-1} \left( {a \over b} \tan(\text{引数}) \right) - \text{引数} \]
ではなく、
\[ \text{楕円差角} = \tan^{-1} \left( {a \sin(\text{引数})\over b \cos(\text{引数})} \right) - \text{引数} \]
と記載している。
数学的に言えば同じことであるが、敢えて意識してそう書いている。
このブログの式において、\( \tan^{-1} {y \over x} \) と記載している場合、ATAN2(x, y) の計算をせよという意味だと解釈されたい。ATAN2 とは、プログラミング言語ではよくある関数で、一般に \( \theta = \tan^{-1} x \) の値域は、\( -90° < \theta < 90° \) なのだが、全周 \( -180° \leqq \theta < 180° \) の値域を持たせたい場合に用いられる。
\[ \text{ATAN2}(x, y) = \begin{cases}
\tan^{-1} {y \over x} & \text{if:}\, x > 0 \\
90° & \text{if:}\, x = 0, y > 0 \\
-90° & \text{if:}\, x = 0, y < 0 \\
\tan^{-1} {y \over x} \pm 180° & \text{if:}\, x < 0 \\
\end{cases} \]
要するに、ATAN2(x, y) は、\( \alpha = \sqrt{x^2 + y^2}, x = \alpha \cos \theta, y= \alpha \sin \theta \) となるような、\( \theta \) を求めよ、ということになる。

楕円差角の式において、ATAN2 で計算することにより、引数がどの象限にあっても、\( \tan^{-1} \) の結果は、引数と同じ象限、ほぼ引数と等しい値になり、よって、楕円差角の値は微小な角となる(ATAN2 ではなく、単純に tan で計算すると、真反対の 180° ずれた角になってしまいかねない)。また、単純に tan で計算する場合の問題として、90°, 270° の場合、ゼロ除算になってしまうという問題があるが、ATAN2 ではその問題が起きない。

切線分外角法の場合も話が同じで、
\[ \text{半較角} = \tan^{-1} \left({(\text{大辺} - \text{小辺}) \sin(\text{半外角}) \over (\text{大辺} + \text{小辺}) \cos(\text{半外角})} \right) \]
のように計算することにより、半較角は、半外角と同じ象限、小辺が大辺よりかなり小さい場合、ほぼ半外角と等しい値になり、対小辺の角 = 半外角 - 半較角 は、微小な角となる。

このように ATAN2 で計算した場合、「対倍両心差の角」および、楕円差角の符号は、下表のようになる。
引数
対倍両心差の角 楕円差角
第一象限(0~90°) + +
第二象限(90~180°)
+ -
第三象限(-180~-90°) - +
第四象限(-90~0°)
- -

「(楕円差角を)最卑前後各三宮(引数=-90~90°。第四・第一象限)、対倍両心差の倍角と相加へ、最高前後各三宮(引数=90~-90°。第二・第三象限)、対倍両心差の倍角と相減じ、均数を得」
――これは、「対倍両心差の角と楕円差角の符号が同じ場合は絶対値同士を足せ、符号が異なる場合は絶対値同士を引け」と言っているのだ。
そして、楕円差角より対倍両心差の倍角のほうが絶対値が大きいので、均数の符号は対倍両心差の符号により定まる。よって、
「引数、初宮より五宮(0~180°。第一・第二象限)に至るは加と為し、六宮より十一宮(-180~0°。第三・第四象限)に至るは減と為す」
と言っている。結果、半外角や引数の象限を意識しながら、上表のように「対倍両心差の角」「楕円差角」の符号がなるように計算していけば、要するに、
\[ \text{均数} = 2 \times \text{対倍両心差の角} + \text{楕円差角} \]
を計算すればよいことになる。こんな感じで、ATAN2 をうまく使いながら三角関数の符号や角度の象限を意識しながら計算すると、式がすっきりする。

ケプラーの法則

さて、このようにして計算した均数(中心差)であるが、寛政暦と言えば楕円軌道理論・ケプラーの法則を導入した暦でおなじみ。これはケプラー方程式による式なのか?―― 「No」。違う。とはいえ、ケプラー方程式による場合と比べて、そう悪くもない近似式になっているのは事実である。
寛政暦の太陽均数をケプラーの法則と比較するにあたって、まずは、そもそもケプラーの法則について説明せねばなるまい。私なんぞに説明されてなくても十分承知している方は、すっ飛ばしていただいて構わない。

ケプラーの法則は、下記の三法則からなる。
第一法則(楕円軌道の法則): 惑星は、中心天体(太陽)を焦点のひとつとする楕円軌道上を動く。
第二法則(面積速度一定の法則): 惑星と中心天体(太陽)とを結ぶ線分が単位時間に描く面積は一定である。
第三法則: 惑星の公転周期の二乗は、離心率にかかわらず、軌道長半径の三乗に比例する。
これらは、ニュートンの運動方程式(\( \vec{F} = m \vec{a} \)) や、惑星と中心天体(太陽)とが距離の逆二乗に比例する力で引き合う万有引力の法則からの当然の帰結として得られることが、ニュートンのプリンキピアにおいて示されている。

「面積速度一定の法則」から得られる帰結を考えてみる。本当は太陽を焦点において地球が楕円軌道を回っているのだが、上図は地球を焦点において太陽が楕円軌道を回っている図である。これでも話は同じ。
O を軌道中心とし、T を楕円の焦点にある地球、P が近点、A が遠点。楕円軌道上に真太陽 Sν があるとする。面積速度一定の法則から、扇型っぽい図形 PTSν の面積は、Sν が近点 P を出発してからの時間に比例することになる。
一方、Oを中心とし楕円の長半径と等しい半径の正円上に平均太陽 Sm があるとする。Sm は、正円上を等角速度運動しており、また、Oを中心とするSm と Sν の公転周期は等しい、すなわち、Sm は、Sν が近点 P を出発するのと同時に P を出発し、P に戻ってくるのと同時に P に戻ってくるとする。等角速度運動しているのだから当然に扇形 POSm の面積も、Sν, Sm が近点 P を出発してからの時間に比例することになる。
とすれば、同時刻において、扇形 POSm の面積が正円の面積に占める割合は、扇形っぽい図形 PTSν の面積が楕円の面積に占める割合に等しい。
真太陽 Sν を楕円の長軸と垂直に(短軸と平行に)ずらした正円上にある点を離心太陽 Se とする。扇形っぽい図形 PTSνの面積が楕円の面積に占める割合と、扇形っぽい図形 PTSe の面積が正円の面積に占める割合は等しい。
よって、扇形 POSm の面積と、扇形っぽい図形 PTSe の面積は等しい。

ここで、∠POSm を平均近点角 (M) といい、∠POSe を離心近点角 (E) という。そして、∠PTSν を真近点角 (ν)という。平均近点角の大きさは、Sν, Sm が近点 P を通過してからの経過時間 / 公転周期 × 360° として簡単に求められる。そして、知りたいのは、真近点角 ∠PTSν である。真近点角(すなわち、地球から見た近点と太陽との離角)がわかれば、近点黄経に真近点角を加算すれば、太陽の真黄経になる。しかし、平均近点角から真近点角を一足飛びに求めるよりも、離心近点角を介した方がラクである。

真近点角と離心近点角との関係

離心近点角 Eと真近点角 ν との関係を見てみる。右図において、離心近点角 E = ∠POSe、真近点角 ν = ∠PTSν である。
離心近点角から真近点角への変換では、
  • 軌道中心 O を中心に測った角 ∠POSe を、地心(焦点) T を中心に測った角 ∠PTSe にする。
  • 正円上の点 Se に対して測った角 ∠PTSe を、楕円上の点 Sν に対して測った角 ∠PTSν にする。
という二つの操作が加わっているものだと考えることが出来る。

さて、真近点角と離心近点角とがどういう関係にある値なのかを計算してみよう。
\[ \begin{align}
\mathrm{OSe} &= \text{正円半径} = \text{楕円長半径} = 1 \\
\mathrm{OT} &= \text{離心距離} = \text{離心率} = e \\
\text{TF} &= \mathrm{OF} - \mathrm{OT} = \cos E - e \\
\mathrm{S{\nu}F} &= {\text{楕円短半径} \over \text{楕円長半径}} \mathrm{SeF} = \sqrt{1 - e^2} \mathrm{SeF} = \sqrt{1 - e^2} \sin E \\
\mathrm{TS\nu}^2 &= \mathrm{TF}^2 + \mathrm{S{\nu}F}^2 \\
&= (\cos E - e)^2 + (1 - e^2) \sin^2 E \\
&= \cos^2 E - 2e \cos E + e^2 + \sin^2 E - e^2 (1 - \cos^2 E) \\
&= (\cos^2 E + \sin^2 E)  - 2e \cos E + e^2  \cos^2 E \\
&= (1 - e \cos E)^2 \\
\therefore \mathrm{TS\nu} &= 1 - e \cos E &\because 1 - e \cos E > 0 \\
\cos \nu &= \cos {\angle \mathrm{S{\nu}TF}} = \mathrm{TF} / \mathrm{TS\nu} = {{\cos E - e} \over {1 - e \cos E}} \\
\end{align} \]

また、これをさらに変形する。
\[ \begin{align}
\cos \nu &= {\cos E - e \over 1 - e \cos E} \\
{1 - \cos \nu \over 1 + \cos \nu} &= {1 - \dfrac {\cos E - e}{1 - e \cos E} \over 1 + \dfrac {\cos E - e}{1 - e \cos E}} \\
&= {(1 - e \cos E) - (\cos E - e) \over (1 - e \cos E) + (\cos E - e)} \\
&= { 1 + e - \cos E - e \cos E \over 1 - e + \cos E - e \cos E} \\
&= {(1 + e)(1 - \cos E) \over (1 - e)(1 + \cos E)} \\
\end{align} \]
ここで、
\[ \tan^2 \dfrac{\theta}{2} = { \sin^2 \dfrac{\theta}{2} \over \cos^2 \dfrac{\theta}{2}} = {(1 - \cos \theta) / 2 \over (1 + \cos \theta) / 2} = {1 - \cos \theta \over 1 + \cos \theta} \]
であるから、
\[ \tan^2 {\nu \over 2} = {1 + e \over 1 - e} \tan^2 {E \over 2} \]
\(\text{S}\nu\) と \(\text{Se}\) は同時に近点を出発し、同時に遠点を通過し、同時に近点に戻ってくるので、E が第一・第二象限(近点~遠点)にある時は \(\nu\) も第一・第二象限にあり、E が第三・第四象限(遠点~近点)にある時は \(\nu\) も第三・第四象限にあり、\(\tan {\nu \over 2}\) と、\(\tan {E \over 2}\) の符号は等しいから、
\[ \tan {\nu \over 2} = \sqrt{1 + e \over 1 - e} \tan {E \over 2} \]
という形でも、離心近点角と真近点角との関係を表現することができる。

平均近点角と離心近点角との関係

右図において、平均近点角 M = ∠POSm であり、離心近点角 E = ∠POSe である。扇型 POSm と、扇型っぽい図形 PTSe の面積は等しい。
扇型 POSm の面積 = 扇型 POSe の面積 - 扇型 SmOSe の面積、
扇型っぽい図形 PTSe の面積 = 扇型 POSe の面積 - ⊿TOSe の面積
よって、扇型 SmOSe の面積 = ⊿TOSe の面積。
扇型 SmOSe の中心角は、\(E - M\)。半径 \(r = 1\) の円の面積は、\(\pi r^2 = \pi\) であり、中心角 \(E - M\) をラジアン単位の角とする場合、扇型 SmOSe の面積は、
\[ \pi {E - M \over 2\pi} = {E - M \over 2} \]
⊿TOSe の底辺の長さは OT = e, 高さは、sin E であるから、面積は、\({1 \over 2} e \sin E \)。
両者が等しいので、
\[ \begin{align}
{E - M \over 2} &= {1 \over 2} e \sin E \\
E - M &= e \sin E \\
M &= E - e \sin E
\end{align} \]
となる。これが、ケプラー方程式と呼ばれる式である。
(この式は、M, E がラジアン単位の角でなくてはならない。度単位であるなら、\( M = E - 180°/\pi \cdot e \sin E \) としなければならない)

これは、離心近点角 E から、平均近点角 M を求める式となっているが、本当は、平均近点角から離心近点角を求めたいのである。が、この式の逆関数は厳密には求められず、近似的にしか解くことが出来ない。
\[ \begin{align}
E_0 &= M \\
E_{i + 1} &= M + e \sin E_i \\
\end{align} \]
という漸化式は、離心率 e が大きすぎない場合は収束し、E を近似的に求められることが知られている。
(この式も同様に、M, E を度単位の角にしたいのなら、\( E_{i + 1} = M + 180°/\pi \cdot e \sin E_i \) としなくてはならない)

寛政暦の均数算出式とケプラー式との比較

寛政暦の均数算出式は、ケプラー式と似ても似つかないとは言わないまでも、あまり似ていない。とはいえ、そこそこ悪くない近似にはなっている。平均近点角から寛政暦の暦法に基づき真近点角を求め、それをケプラー式により平均近点角に戻し、それをもとの平均近点角と比較して誤差を算出することにする。
  • 離心近点角と真近点角とは相互に変換可能である。そして、ケプラー式において、平均近点角から離心近点角への変換は厳密には出来ないが、離心近点角から平均近点角への変換は厳密に出来る。よって、真近点角から平均近点角への変換は厳密に行うことが出来る。
    ゆえに、寛政暦の暦法によって平均近点角から真近点角に変換し、ケプラー式によって真近点角から平均近点角に変換すれば、寛政暦の暦法による誤差のみを検証することが出来る。
これを、平均近点角 \(M\) から離心近点角 \(E\) を求める漸化式で、平均近点角を近似的に離心近点角 \(E_1, E_2, E_3 \cdots\) に変換したものを、ケプラー式で平均近点角に戻した場合の誤差と比較してみることにする。
  • 離心近点角と真近点角とは相互に厳密に変換可能であり、離心近点角を真近点角に変換して離心近点角に戻しても、そこで誤差が生ずることはないので、真近点角に変換してみる必要はない。
グラフの縦軸の単位は、角度秒(六十進)である。青の寛政暦式での誤差は、最大で \(\pm 0^{\prime\prime}.7\) ぐらいであり、悪くない。寛政暦の全体的な精度のなかでは無視できる誤差の範囲と言える。多分、ほかの要素に起因する誤差のほうがずっと大きい。最大 \(\pm 0^{\prime\prime}.4\) 程度の \(E_2\) と比べるとちょっと悪いが、最大 \(\pm 30^{\prime\prime}\) 程度の誤差が出る \(E_1\)(誤差が大きすぎてグラフには示していない)と比べるとはるかにいい。

寛政暦の均数算出式は、一体何を計算しているのか。

そこで疑問になるのは「寛政暦の均数算出式は一体どこからどう出てきた式なのか」である。そして、なぜ、それがケプラー式の悪くない近似たり得ているのか。
  • 「寛政暦の均数算出式」というより、正しく言えば「暦象考成後編の均数算出式」であるが。寛政暦はそれのコピーなので。

均数(太陽真黄経と平均黄経の差角)は、「倍両心差の対角」の2倍と、楕円差角からなる。とりあえず楕円差角は置いておいて、「倍両心差の対角」から考えてみよう。
  • なお、暦法新書(寛政)においては、「楕円差角」という用語は用いられていない。冒頭に書いた暦法新書(寛政)の均数の計算方法の記述においては、この値に名前がついていない。この用語は、暦法新書(寛政)の元ネタである暦象考成後編によっている。また、寛政暦の暦理を解説した「寛政暦書」でもこの名前で記載されている。
おそらくこれは、プトレマイオスのエカント離心円モデルの楕円版なのだと思われる。
ヒッパルコスの単純離心円モデルと、プトレマイオスのエカントモデル

上図において、軌道中心をO, 地球をT, 近点を P, 遠点を A, 太陽を S とする。
単純離心円モデルでは、軌道中心 O からずれたところに地球 T があり、∠POS が角速度一定となる(すなわち平均近点角)ように運動する太陽 S を地球から見たときの近点角 ∠PTS が真近点角になるとする。
これに対し、軌道中心を挟んで、地球と等距離反対側にある点をエカント equant (E) とし、太陽は、軌道中心から測った角 ∠POS ではなく、エカントから測った角 ∠PES が角速度一定(すなわち平均近点角)となるように動くと考えた方が、単純離心円モデルより精度が高い。これがエカント離心円モデルである。
エカント離心円モデルにおいて、平均近点角 M = ∠PES、真近点角 ν = ∠PTS。
よって、均数 = 真近点角 - 平均近点角 = ∠PTS - ∠PES = ∠EST となる。

さて、これを楕円に引き直してみる。
楕円の軌道中心を O、楕円の焦点に位置する地球を T、楕円のもうひとつの焦点に位置するエカント を E、近点を P、楕円軌道上の太陽を S とする。
エカント離心円モデルに従い、エカントから測った太陽の近点離角 ∠PES が平均近点角であるとし、これに ∠EST を加算すれば、太陽の真近点角 ∠PTS を求められるはずである(三角形の2角の和は、残りの角の外角に等しいから)。

∠EST は、下記のようにして求めることが出来る。
楕円上の点と二つの焦点との間の距離の和は、楕円の長径に等しい。よって、SE + ST = 2
線分 ES を、線分 ST と同じ長さだけ延長した点を A とする。EA = ES + SA = ES + ST =2。
ET の長さは離心距離の 2 倍、ET = 2e。
∠TEA = ∠PES = 平均近点角 M。
三角形 EAT において、大辺 EA の長さ = 2、小辺 ET の長さ = 2e、夾角 ∠TEA = M が与えられれば、切線分外角法により、小辺 ET の対角 ∠EAT を求めることが出来る。
三角形 SAT は、二等辺三角形であるので、∠SAT = ∠STA。
そして、∠TSA の外角 ∠EST = ∠SAT + ∠STA = 2 × ∠EAT

これは、まさに、寛政暦の暦法において「対倍両心差の対角 × 2」で算出しているものに他ならない。
  • なお、暦象考成後編において、「対倍両心差の対角 × 2」を「楕円界角」と呼んでいる。∠EST は、楕円周(楕円界)に接する角なので、そう呼んでいるのだろう。

さて、では、そもそもなぜエカント離心円モデル(の楕円版)で算出した中心差が、悪くない近似たりえているのだろうか。また、上記ではとりあえず議論の外に置いておいた楕円差角とは一体なにか。正直、よくわかっていないのだが、とりあえずつらつら考えたことを書いてみる。
(暦象考成後編、寛政暦書の記述や論文などを、いろいろ読んではみたのだが、私の理解力がないせいか、あまり納得のできる説明を得られた気がしないので、しょうがないから自分で考えてみた)

寛政暦の暦法において、
\[ \text{対倍両心差の角} = {180° - \text{引数} \over 2} - \tan^{-1} \left({2 - 2e \over 2 + 2e} \tan{180° - \text{引数} \over 2} \right) \]
であり、とりあえず、楕円差角を置いておくと、
\[ \text{真近点角} = \text{平均近点角(つまり引数)} + 2 \times \text{対倍両心差の角} \]
である。
\[ \begin{align}
\text{対倍両心差の角} = {\nu - M \over 2} &= {180° - M \over 2} - \tan^{-1} \left({2 - 2e \over 2 + 2e} \tan{180° - M \over 2} \right) \\
{180° - M \over 2} - {\nu - M \over 2} &= \tan^{-1} \left({1 - e \over 1 + e} \tan{180° - M \over 2} \right) \\
90° - {\nu \over 2} &= \tan^{-1} \left({1 - e \over 1 + e} \tan(90° - {M \over 2}) \right) \\
\tan (90° - {\nu \over 2}) &= {1 - e \over 1 + e} \tan(90° - {M \over 2}) \\
\cot {\nu \over 2} &= {1 - e \over 1 + e} \cot{M \over 2} \\
\tan {\nu \over 2} &= {1 + e \over 1 - e} \tan{M \over 2} \\
\end{align} \]
この式は、離心近点角と真近点角との関係、
\[ \tan {\nu \over 2} = \sqrt{1 + e \over 1 - e} \tan{E \over 2} \]
の式とよく似ていることがわかる。もし、平均近点角と離心近点角との関係が、
\[ \tan {E \over 2} = \sqrt{1 + e \over 1 - e} \tan{M \over 2} \]
の式で近似することができるのだとすれば、
\[ \begin{align}
\tan {\nu \over 2} &= \sqrt{1 + e \over 1 - e} \tan{E \over 2} \\
&= \sqrt{1 + e \over 1 - e} \left(  \sqrt{1 + e \over 1 - e} \tan{M \over 2} \right) \\
&= {1 + e \over 1 - e} \tan{M \over 2} \\
\end{align} \]
が、平均近点角と真近点角との関係の近似たりうるはずだ。つまり、「平均近点角と離心近点角との関係は、離心近点角と真近点角との関係に似ている」と言えればよい。

離心近点角から真近点角への変換は、
  • 軌道中心 O を中心に測った角を、地心(焦点) T を中心に測った角にする。
  • 正円上の点に対して測った角を、楕円上の点に対して測った角にする。
の二つの操作が加わったものと述べた。平均近点角と離心近点角との関係は、これに似たものになっているだろうか。
ここで正円上に平均太陽 Sm があるとする。∠POSm は平均近点角 M である。平均近点角 M を地心 T から測りなおした角は ∠PTSm である。TSm と平行に OSe を引く。Se は正円上の点であり、∠PTSm = ∠POSe である。
もし、Se が離心太陽であり、∠POSe が離心近点角なのだとすれば(つまり、偽扇形 PTSe と、扇形 POSm の面積が等しいとすれば)、軌道中心 O を中心に測った平均近点角 ∠POSm を、地心 T を中心に測りなおした角である ∠PTSm = ∠POSe が、離心近点角になっているということができる。

では、偽扇形 PTSe と、扇形 POSm の面積は等しいだろうか。
偽扇形 PTSe = 扇形 POSe - ⊿TOSe
扇形 POSm = 扇形 POSe - 扇形SmOSe
TSm と OSe は平行であるから、⊿TOSe = ⊿SmOSe
離心率が十分に小さい場合、Sm と Se との間の距離は微小であるから、この間の弓形の面積は無視すると、⊿SmOSe ≒ 扇形SmOSe
よって、偽扇形PTSe ≒ 扇形POSm。
これにより、軌道中心 O を中心に測った平均近点角 ∠POSm を、地心 T を中心に測りなおした角である ∠POSe は、近似的に離心近点角であるといえる。

しかし、
\[ \tan {\nu \over 2} = \sqrt{1 + e \over 1 - e} \tan{E \over 2} \]
の式は、
  • 軌道中心 O を中心に測った角を、地心(焦点) T を中心に測った角にする。
  • 正円上の点に対して測った角を、楕円上の点に対して測った角にする。
の二つの操作を加えた場合の変換式である。
平均近点角と離心近点角との場合、一つ目の方は近似的にそのとおりになっているが、二つ目の方は違う。平均近点角も離心近点角も正円上の点に対して測った角である。

つまり、平均近点角から真近点角への変換を
\[ \tan {\nu \over 2} = {1 + e \over 1 - e} \tan{M \over 2} \]
という式でやってしまうと、本来は、離心近点角から真近点角への変換で一回だけやればいい「正円上の点に対して測った角を、楕円上の点に対して測った角にする」という変換を二重にやってしまっていることになる。

「正円上の点に対して測った角を、楕円上の点に対して測った角にする」は、角度を縦に(短軸方向に)縮めて測るということだが、
\[ \begin{align}
\text{楕円差角} = \tan^{-1} \left( {\text{長半径} \over \text{短半径}} \tan(\text{引数}) \right) - \text{引数} \\
\tan(\text{引数} + \text{楕円差角}) = {\text{長半径} \over \text{短半径}} \tan(\text{引数}) \\
\end{align} \]
は、平均近点角(引数)M を縦に(短軸方向に)引き延ばして測りなおす操作(楕円上の点に対して測った角を正円上の点に対して測った角に変換する操作)である。
つまり、引数に楕円差角を加算するというのは、「正円上の点に対して測った角を、楕円上の点に対して測った角にする」という変換を二重にやってしまっていることの逆補正をしているのだと考えることができる。
よって、「真近点角 ν ≒ 平均近点角 M + 楕円差角 + 2 × 対倍両心差の角」が成り立つのである。

……と、いうふうに考えることで、自分なりには納得をつけた。

太陽実行(太陽の真黄経)

求実行「置平行、加減均数、得実行」
平行を置き、均数を加減し、実行を得。
\[ \text{実行} = \text{平行} + \text{均数} \]
上記で長々と説明してきた「均数」は、中心差(近点付近では黄経角速度が大きく、遠点付近では黄経角速度が小さいことによる黄経の遅速)であり、真近点角 \(\nu\) と平均近点角の M との差分であるが、太陽の真黄経と平均黄経との差分でもあるので、
\( \text{実行(真黄経)} = \text{平行(平均黄経)} + \text{均数(中心差)} \)
として計算できる。

「実行」は、「実際の運行」という意味であって、execution の意味ではない。

定気の二十四節気

求定気時刻「日躔初宮初度為冬至、十五度為小寒、一宮初度為大寒、十五度為立春、二宮初度為雨水、十五度為驚蟄、三宮初度為春分、十五度為清明、四宮初度為穀雨、十五度為立夏、五宮初度為小満、十五度為芒種、六宮初度為夏至、十五度為小暑、七宮初度為大暑、十五度為立秋、八宮初度為処暑、十五度為白露、九宮初度為秋分、十五度為寒露、十宮初度為霜降、十五度為立冬、十一宮初度為小雪、十五度為大雪。皆以子正日躔未交定気宮度為本日、已過定気宮度為次日。推時刻之法、以本日実行与次日実行相減為一率、日周為二率、本日子正実行与定気宮度相減為三率(如推立春、則以本日実行与一宮十五度相減。余倣之)、求得四率為距子正後之分数。如法(即求辰刻法。後倣之)収之、得定気時刻。如実行適与定気宮度相符、無余分即為子正初刻」
日躔初宮、初度冬至と為し、十五度小寒と為し、一宮、初度大寒と為し、十五度立春と為し、二宮、初度雨水と為し、十五度驚蟄と為し、三宮、初度春分と為し、十五度清明と為し、四宮、初度穀雨と為し、十五度立夏と為し、五宮、初度小満と為し、十五度芒種と為し、六宮、初度夏至と為し、十五度小暑と為し、七宮、初度大暑と為し、十五度立秋と為し、八宮、初度処暑と為し、十五度白露と為し、九宮、初度秋分と為し、十五度寒露と為し、十宮、初度霜降と為し、十五度立冬と為し、十一宮、初度小雪と為し、十五度大雪と為す。皆、子正日躔、未だ定気宮度に交はらざるを以って本日と為し、已に定気宮度を過ぐるを次日と為す。時刻を推するの法、本日実行と次日実行と相減ずるを以って一率と為し、日周二率と為し、本日子正実行と定気宮度と相減じ三率と為し(もし立春を推するは、則ち本日実行と一宮十五度と相減ずるを以ってす。余、これに倣へ)、求めて得る四率、距子正後の分数と為す。法の如く(即ち辰刻を求むる法。後、これに倣へ)これを収め、定気時刻を得。もし実行たまたま定気宮度と相符するは余分無く、即ち子正初刻と為す。
\[ \begin{align}
\text{太陽実行}(@\text{本日}) &\leqq \text{定気宮度} \lt \text{太陽実行}(@\text{次日}) \text{ となるような本日について:} \\
\text{定気時刻} &= {\text{定気宮度} - \text{太陽実行}(@\text{本日}) \over  \text{太陽実行}(@\text{次日}) - \text{太陽実行}(@\text{本日})} \\
\text{定気日時} &= \text{本日} + \text{定気時刻}
\end{align} \]
角度の大きさのことを「宮度」と呼ぶことが多々ある。「宮」は 30° を意味する角度単位であり、「三宮十五度」などと書いてあれば、それは「3 × 30° + 15° = 105°」の意味である。0宮、0°は、「初宮」「初度」と記載する。

日躔の暦算においては、日時から平行(平均黄経)を求め、平行から実行(真黄経)を求めるわけだが、真黄経から日時を求めることはできない。定気日時を求めるには、線形補間なりニュートン法なりして求めるしかないわけである。寛政暦では一次線形補間して算出している。

そこで、例えば、立春(ターゲットとなる真黄経 = 45°)を求めるとした場合、「本日 0:00 の真黄経は 45° 以下だが、本日 24:00(次日 0:00)の真黄経は 45° よりも大きい」という日を探す。その日のどこかに真黄経 = 45° となる時刻が存在するはずだ。「次日 0:00の真黄経 - 本日 0:00 の真黄経」が、本日まる一日かけて進む真黄経の角度量であり、「ターゲットとなる黄経(45°)- 本日 0:00 の真黄経」が、本日 0:00 時点ではまだ進み足りていなかった角度量。本日一日の間で、近似的に真黄経が等角速度的に進むと考えてよければ、この比率により、本日 0:00~定気日時の間の時間を求めることができる。即ち、定気日時の時刻となる。

以上で、定気日時の算出法は終わり……ではない。
これで求まった定気日時は、平均太陽時における定気日時である。寛政暦の時制は、真太陽時なので、時差総(平均太陽時と真太陽時の時差)を加減して、真太陽時における定気日時を求めないといけない。
  • とはいえ、実のところ、寛政暦は平気の暦であるから、定気日時を求めたところでどこにそれを使うわけでもないのだが。寛政暦の元ネタとなった暦象考成後編は、清の時憲暦(第3期)の暦法のもとになっており、時憲暦は定気の暦だから、定気日時の算出法が記載されているのである。

が、時差総については次回に説明することにする。

なお、平気日時は、時差総を加減して真太陽時に変換することはしない。平気は、中心差などの不等項を加減することなく、等角速度的に進む平均黄経だけから算出したものであって、時差総も、ある意味、不等項の一種だから、加減しないのだ。
ただし、定朔弦望日時や日月食の日時などは全て時差総を加減して真太陽時に変換する必要がある。


[参考文献]
吉田 秀升, 山路 徳風, 高橋 至時, (校正) 土御門 泰栄「暦法新書」(寛政) 国立公文書館デジタルアーカイブ蔵
渋川 景佑「寛政暦書」 国立公文書館デジタルアーカイブ蔵
戴 進賢 (Ignaz Kögler)「暦象考成後編」国立天文台三鷹図書館デジタル資料
橋本 敬造 (1971)「橢圓法の展開――『暦象考成後編』 の内容について」, 東方学報 (1971):42 , pp.245-272 https://doi.org/10.14989/66469
長沢 工 (1981, 1985)「天体の位置計算 増補版」, 地人書館 ISBN-9784805202258

0 件のコメント:

コメントを投稿