寛政暦の日食法について説明している。
前回までで「食甚用時」を算出した。「食甚用時」は、視差を考慮しない月の位置が、太陽の位置に最接近する時刻である。月食法であれば、この時刻を食甚時刻としてよいのであるが、日食法ではそうはいかない。視差を考慮しない月の位置が太陽の位置に最接近しているかどうかと、視差を考慮した月の位置が太陽の位置に最接近しているかどうかとでは、話がイコールではないからである。
視差を考慮した月の位置が太陽の位置に最接近している時刻を求めたいのであるが、この時刻を単純に求めることは出来ず、漸近的に求めていく必要がある。
さて、暦法新書(寛政)の日食法が、これをどのようにして求めているかを簡単に俯瞰しておこう。その前にこのブログで使う言葉の定義をしておく。
- 実月
- 視差を考慮しない月の位置
- 視月
- 視差を考慮した月の位置
- 白道前方
- 前回、月の太陽に対する相対運動の運動ベクトル(※)を求めた。その運動ベクトルの方向である(西→東)。
-
(※) 方向: 黄道前方から時計回りに「斜距黄道交角」だけ傾いた方向、
長さ: 「一小時両経斜距」、
となるようなベクトル。
- 北方
- 白道北極方向。白道前方から時計回りに 90° 回転した方向(南→北)。
- 上方
-
日月を通る鉛直線(天底・天頂を通る大円)に沿って、天頂を向いた方向(下→上)。
暦法新書(寛政)の日食法において、食甚時刻の算出は下記のように行われる。
- 食甚用時(実月が太陽に最接近する時刻)を求める。(←前回)
- 食甚用時の視月の位置を求める。(←今回)
- 食甚用時からすこし離れた時刻である食甚近時の視月の位置を求める。
- 食甚用時の視月と、食甚近時の視月とを結ぶ直線に、太陽から垂線を下ろし、垂線の足を食甚真時の(仮の)視月とする。用時視月~真時(仮)視月~近時視月の距離を、用時~近時の時刻差と比例案分して、食甚真時を得る。
- 食甚真時の視月の位置を求める。
- 食甚近時の視月と、食甚真時の視月とを結ぶ直線に、太陽から垂線を下ろし、垂線の足を食甚定真時の視月とする。近時視月~定真時視月~真時視月の距離を、近時~真時の時刻差と比例案分して、食甚定真時を得る。
- 食甚定真時をもって食甚時刻とする。
この漸近計算を行うにあたり、暦法新書(寛政)では、ふた通りの解法を用意していて、一を「本法」、二を「又法」という。ちなみに、暦法新書(寛政)だけでなく、ベースとなった暦象考成後編においても両法が併記されていた。寛政暦の作暦にあたり、どちらを使用していたのかはわからない。おそらく、どちらを使っても精神は異ならないので、大差ない結果が得られるはずである。以下に述べていくのは、「又法」である。「又法」の説明後、「本法」を説明する。
なぜ、「又法」から先に説明するかというと、そちらの方が理解しやすいと思われるからだ。実装にあたり私自身が採用したのが「又法」だからというのもある。なぜ、私が「本法」ではなく「又法(※1)」を用いたかというと、「本法」は設時(※2)の定め方がはっきりしておらず、扱いにくいからだ。漸近計算のとっかかり部分に過ぎないので別になんでもいいといえばなんでもいいのだが、気持ちが悪くて採用しなかった。
また、「又法」が視月の位置を (x, y) = (北方, 白道前方方向) の直交座標で追っていく計算をするのに対し、「本法」では、太陽・実月・視月を頂点とする三角形など、三角形の辺角を算出していくような計算方法をとる。「本法」の計算方法で厄介なのは、二頂点が一点に重なる場合や、三頂点が一直線上にあるケースなど、三点が三角形をなさないケースがあり、真面目に実装しようとすると、それらの特殊ケースを常に考慮して場合分けして計算していかなければならない点である (※3)。「又法」のように直交座標系で考えていく場合では、そのような問題が生じにくい。そして、単純に、(私にとっては)「本法」より「又法」のほうが理解しやすかった。
- (※1)「又法」ってなんと読むのでしょうか。私は「ユウホウ」と読んでますが、正しいかどうかは知りません。
- (※2) 「本法」では、「又法」の「食甚近時」に相当するものを「食甚設時」と呼んでいる。
- (※3) 三点が正確に厳密に一直線に並ぶ場合を計算する確率はかぎりなくゼロなので、paranoiac ではある。
以下、食甚又法による計算を説明していく。
食甚用時の視差計算 (1) 白経高弧交角と高下差
暦法新書(寛政)巻三 日食法
又法
推食甚近時第五
求用時太陽距午赤道度「以食甚用時与半日周相減(不及半日周者、於半日周内減之、過半日周者、則減去半日周)、余数変赤道度、得用時太陽距午赤道度」
食甚用時を以って半日周と相減じ(半日周に及ばざれば、半日周にこれを内減し、半日周を過ぐれば、則ち半日周を減去す)、余数、赤道度に変じ、用時太陽距午赤道度を得。
求用時赤経高弧交角「以北極距天頂為一辺(北極高度与九十度相減、即北極距天頂)、太陽距北極為一辺、用時太陽距午赤道度為所夾之角、用斜弧三角形法、自天頂作垂弧至赤道経圏、即成両正弧三角形。先以半径為一率、用時太陽距午赤道度之余弦為二率、北極距天頂之正切線為三率、求得四率為距極分辺之正切線、検表得距極分辺。与太陽距北極相加減、得距日分辺(太陽距午赤道度、不及九十度者、作垂弧於形内、則相減。過九十度者、作垂弧於形外、則相加。若距極分辺与太陽距北極等、則赤経高弧交角為九十度)。次以半径為一率、用時太陽距午赤道度之正切線為二率、距極分辺之正弦為三率、求得四率為垂弧之正切線。又以距日分辺之正弦為一率、垂弧之正切線為二率、半径為三率、求得四率為赤経高弧交角之正切線、検表得用時赤経高弧交角。若距極分辺転大於太陽距北極、則所得為外角、与半周相減、余為赤経高弧交角。午前、赤経在高弧東、午後、赤経在高弧西(若太陽在正午無距午赤道度、則赤経与高弧合無交角。若太陽距午赤道度為九十度、則北極距天頂即為垂弧、用正弧三角形法、以太陽距北極之正弦為一率、北極距天頂之正切線為二率、半径為三率、求得四率為赤経高弧交角之正切線、検表得赤経高弧交角。若太陽距午赤道度為九十度、太陽距北極亦九十度、則北極距天頂度即赤経高弧交角度)」
北極距天頂を以って一辺と為し(北極高度と九十度と相減じ、即ち北極距天頂)、太陽距北極、一辺と為し、用時太陽距午赤道度、夾むところの角と為し、斜弧三角形法を用ゐ、天頂より垂弧を作し赤道経圏に至り、即ち両正弧三角形を成す。先づ半径を以って一率と為し、用時太陽距午赤道度の余弦、二率と為し、北極距天頂の正切線、三率と為し、求めて得る四率、距極分辺の正切線と為し、表を検じ距極分辺を得。太陽距北極と相加減し、距日分辺を得(太陽距午赤道度、九十度に及ばざれば、垂弧を形内に作し、則ち相減ず。九十度を過ぐれば、垂弧を形外に作し、則ち相加ふ。もし距極分辺と太陽距北極と等しければ、則ち赤経高弧交角、九十度を為す)。次に半径を以って一率と為し、用時太陽距午赤道度の正切線、二率と為し、距極分辺の正弦、三率と為し、求めて得る四率、垂弧の正切線と為す。又、距日分辺の正弦を以って一率と為し、垂弧の正切線、二率と為し、半径、三率と為し、求めて得る四率、赤経高弧交角の正切線と為し、表を検じ用時赤経高弧交角を得。もし距極分辺、転じて太陽距北極より大なれば、則ち得るところ外角と為し、半周と相減じ、余り赤経高弧交角と為す。午前は、赤経、高弧の東に在り、午後は、赤経、高弧の西に在り(もし太陽正午に在って距午赤道度無ければ、則ち赤経と高弧合し交角無し。もし太陽距午赤道度、九十度と為せば、則ち北極距天頂即ち垂弧と為し、正弧三角形法を用ゐ、太陽距北極の正弦を以って一率と為し、北極距天頂の正切線、二率と為し、半径、三率と為し、求めて得る四率、赤経高弧交角の正切線と為し、表を検じ赤経高弧交角を得。もし太陽距午赤道度、九十度と為し、太陽距北極また九十度なれば、則ち北極距天頂度即ち赤経高弧交角度)。
求用時太陽距天頂「以用時赤経高弧交角之正弦為一率、北極距天頂之正弦為二率、用時太陽距午赤道度之正弦為三率、求得四率為太陽距天頂之正弦、検表得用時太陽距天頂」
用時赤経高弧交角の正弦を以って一率と為し、北極距天頂の正弦、二率と為し、用時太陽距午赤道度の正弦、三率と為し、求めて得る四率、太陽距天頂の正弦と為し、表を検じ用時太陽距天頂を得。
求用時白経高弧交角「用時赤経高弧交角与赤白二経交角、同為東或同為西者、則相加、得用時白経高弧交角、東為限東、西為限西。一為東一為西者、則相減、得用時白経高弧交角。赤経高弧交角大、午東仍為限東、午西仍為限西。赤経高弧交角小、午東変為限西、午西変為限東(如無赤経高弧交角、則赤白二経交角即白経高弧交角。東為限東、西為限西。如無赤白二経交角、則赤経高弧交角即白経高弧交角、午東仍為限東、午西仍為限西。如赤経高弧交角与赤白二経交角相加、過一百八十度、或太陽距北極小於北極距天頂而無赤経高弧交角、則赤白二経交角即白経高弧交角、限東変為限西、限西変為限東)。如無赤経高弧交角亦無赤白二経交角、或両角相等而減尽無余、或相加適足一百八十度、則太陽正当白平象限、与高弧合無交角。若相加適足九十度、則白道在天頂、与高弧合。若相加過九十度、与半周相減、用其余、則白平象限在天頂北(如無赤経高弧交角亦無赤白二経交角而太陽距北極小於北極距天頂、亦白平象限在天頂北)」
用時赤経高弧交角と赤白二経交角と、同じく東と為し或いは同じく西と為せば、則ち相加へ、用時白経高弧交角を得、東は限東と為し、西は限西と為す。一は東と為し一は西と為せば、則ち相減じ、用時白経高弧交角を得。赤経高弧交角大なれば、午東なほ限東と為し、午西なほ限西と為す。赤経高弧交角小なれば、午東変じて限西と為し、午西変じて限東と為す(もし赤経高弧交角無ければ、則ち赤白二経交角即ち白経高弧交角にして、東は限東と為し、西は限西と為す。もし赤白二経交角無ければ、則ち赤経高弧交角即ち白経高弧交角にして、午東なほ限東と為し、午西なほ限西と為す。もし赤経高弧交角と赤白二経交角相加へ、一百八十度を過ぎ、或いは太陽距北極、北極距天頂より小にして赤経高弧交角無く則ち赤白二経交角即ち白経高弧交角なれば、限東変じて限西と為し、限西変じて限東と為す)。もし赤経高弧交角無くまた赤白二経交角無く、或いは両角相等しくして減じ尽して余り無く、或いは相加へて適たま一百八十度に足れば、則ち太陽正に白平象限に当り、高弧と合し交角無し。もし相加へて適たま九十度に足れば、則ち白道、天頂に在り、高弧と合す。もし相加へて九十度を過ぐれば、半周と相減じ、其の余りを用ゐ、則ち白平象限、天頂の北に在り(もし赤経高弧交角無くまた赤白二経交角無くして太陽距北極、北極距天頂より小なれば、また白平象限天頂の北に在り)。
求用時高下差「以半径為一率、地平高下差為二率、用時太陽距天頂之正弦為三率、求得四率為用時高下差」
半径を以って一率と為し、地平高下差、二率と為し、用時太陽距天頂の正弦、三率と為し、求めて得る四率、用時高下差と為す。
\[ \begin{align}
\text{太陽距午赤道度}(@\text{用時}) &= {360° \over 1_\text{日}} \times (\text{食甚用時} - 0.5_\text{日}) \\
\text{距極分辺} &= \tan^{-1} (\cos(\text{太陽距午赤道度}(@\text{用時})) \tan(\text{北極距天頂})) \\
\text{距日分辺} &= \text{太陽距北極} - \text{距極分辺} \\
\text{垂弧} &= \sin^{-1}(\sin(\text{太陽距午赤道度}(@\text{用時})) \sin(\text{北極距天頂})) \\
\text{赤経高弧交角}(@\text{用時}) &= - \tan^{-1} {\tan(\text{垂弧}) \over \sin(\text{距日分辺})} \\
\text{太陽距天頂}(@\text{用時}) &= \cos^{-1} \left(\begin{aligned}
&\cos(\text{北極距天頂}) \cos(\text{太陽距北極}) \\
&+ \sin(\text{北極距天頂}) \sin(\text{太陽距北極}) \cos(\text{太陽距午赤道度}(@\text{用時}))
\end{aligned} \right) \\
\text{白経高弧交角}(@\text{用時}) &= \text{赤経高弧交角}(@\text{用時}) + \text{赤白二経交角} \\
\text{高下差}(@\text{用時}) &= \text{地平高下差}(@\text{実朔実時}) \times \sin(\text{太陽距天頂}(@\text{用時}))
\end{align} \]
赤経高弧交角を求めるところまでは、地球影でなく太陽について計算すること、地球影は正子(夜半 0:00)に南中するのに対し、太陽は正午 12:00 に南中することを除けば、月食法の方向角算出で行ったものとまったく同じである。計算方法の詳細については、そちらを参照されたい。
また、「太陽距天頂」は、月食法では出てこないが、食分密法の説明において既に述べておいた。そちらを参照されたい。そちらで書いたように、暦法どおりだと正弦定理を用いた式となっているのだが、その場合、太陽が南中しているときはゼロ除算となってしまうので、余弦定理を用いた式にリライトしている。
「高下差」は月の視差であり、実月と視月の距離でもある。前回算出した「地平高下差」は、最大(月が地平線上にあるとき)の視差であり、実際の視差は、それに \(\sin(月の天頂距離)\) をかけて求められる。月が地平線上にあるときは天頂距離 = 90° であり、最大となる。正しくは月の天頂距離をもとに算出すべきなのであろうが、日食計算においては、月と太陽が近傍にあるときを計算しているのであって近似的に月の天頂距離と太陽の天頂距離は等しいと考えてよく、月の天頂距離を求めるより、太陽の天頂距離を求める方が簡単なので、太陽の天頂距離をもとに算出している。
「白経高弧交角」は、上方(天頂方向)を基準方向 0° として、白道北極方向を反時計回りの角で表示したものとしてこのブログでは定義する。「赤経高弧交角」は、上方を基準方向 0° として、赤道北極方向を反時計回りの角で表示したもの、「赤白二経交角」は、赤道北極方向を基準方向 0° として、白道北極方向を反時計回りの角で表示したもの、として計算しておいたから、単純に加算すれば、「白経高弧交角」を求めることができる。
プラス・マイナスの符号の概念を持たず計算している暦法新書(寛政)の式では、
「用時赤経高弧交角と赤白二経交角と、同じく東と為し或いは同じく西と為せば、則ち相加へ、用時白経高弧交角を得、東は限東と為し、西は限西と為す。一は東と為し一は西と為せば、則ち相減じ、用時白経高弧交角を得。赤経高弧交角大なれば、午東なほ限東と為し、午西なほ限西と為す。赤経高弧交角小なれば、午東変じて限西と為し、午西変じて限東と為す」と場合わけして示されている。
赤経高弧交角が「東」とは赤経(赤道北極方向)が高弧(上方)の東、つまり、左に(反時計回りに)傾いていること、このブログの式でいえばプラスを意味し、「西」とは、逆にマイナス。赤白二経交角が「東」とは、白経(白道北極方向)が赤経(赤道北極方向)の東、つまり、左に(反時計回りに)傾いていること、このブログの式でいえばプラスを意味し、「西」とは、逆にマイナス。同符号は絶対値を加算し、結果の符号はもとの符号に従う、異符号は絶対値を減算し、結果の符号は絶対値が大きい方の符号に従う、といっているのであって、符号を意識して計算する場合、要は足せばいい。
このブログの式では、要は、赤経高弧交角と赤白二経交角を足せばいいだけなのだが、暦法新書(寛政)の計算では、いろいろと場合わけをしているので、何を意味しているのか見ていこう。
もし赤経高弧交角無ければ、則ち赤白二経交角即ち白経高弧交角にして、東は限東と為し、西は限西と為す。もし赤白二経交角無ければ、則ち赤経高弧交角即ち白経高弧交角にして、午東なほ限東と為し、午西なほ限西と為す。
もし赤経高弧交角と赤白二経交角相加へ、一百八十度を過ぎ、或いは太陽距北極、北極距天頂より小にして赤経高弧交角無く則ち赤白二経交角即ち白経高弧交角なれば、限東変じて限西と為し、限西変じて限東と為す。
赤経高弧交角と赤白二経交角を加算して 180° 以上になる、というのは、東向の角(第 1, 2 象限)同士を足して、第 3, 4 象限となるか、西向の角(第 3, 4 象限)同士を足して、第 1, 2 象限となるケースを言っているのであって、「東向」とは、第 1, 2 象限、「西向」とは、第 3, 4 象限をいうのだから、東西が逆になるわけである。そして、「九十度を過ぐれば、半周と相減ず」という注記(後述)の適用対象ともなるから、180° が引かれて鋭角になる(「相減」とは、大きい方から小さい方を引くのであり、\(\theta \lt 180°\) であれば、\(180° - \theta\) になるし、\(\theta \gt 180°\) であれば、\(\theta - 180°\) が算出される。東向と東向を足して 180° を超えれば、先ほどの第 3 象限のケース(下方を基準に西に(反時計回りに)測った方向)となり、西向と西向を足して 180° を超えれば、先ほどの第 2 象限のケース(下方を基準に東に(時計回りに)測った方向)となる。
「太陽距北極、北極距天頂より小にして赤経高弧交角無く」というのは、熱帯地域であって、南中時に太陽が天頂より北にあるときの話をしている。「赤経高弧交角無く」と言っているが、実際には赤経高弧交角は 0° ではなく、180° (太陽から見て赤道北極は北に、天頂は南にあり、180° 逆の方向となる)のケースであって、当ブログの式では、180° として算出してあるのだが、暦法新書(寛政)では無交角(0°)として扱っている。ということは、実際には、「加算して 180° 以上」というのと同じく考えなければいけないわけである。
もし赤経高弧交角無くまた赤白二経交角無く、或いは両角相等しくして減じ尽して余り無く、或いは相加へて適たま一百八十度に足れば、則ち太陽正に白平象限に当り、高弧と合し交角無し。
加算した結果、白経高弧交角が 0° または 180° となるケース。白経高弧交角の計算自体では特段どうこうという話はないが、留意すべきケースである。
用時の実月は太陽のちょうど南方または北方にある。また、月の視差はかならず下方に向かって生じるので、視月は実月の下方にある。白経高弧交角が
0° または 180° となる場合、上下方向と南北方向が一致するため、太陽・実月・視月が一直線に並ぶことになるからである。
もし相加へて適たま九十度に足れば、則ち白道、天頂に在り、高弧と合す。白経高弧交角、九十度を過ぐれば、半周と相減じ、其の余りを用う。
白経高弧交角が鈍角なら、その外角の鋭角とする、と言っている。「白経高弧交角が東」のとき、「上方を基準に反時計回りに測った白道北極方向」、「白経高弧交角が西」のとき、「上方を基準に時計回りに測った白道北極方向」となる。さらに、鈍角のときは、その外角をとるので、
- 当ブログの白経高弧交角(\(\theta\) とする)が第 1 象限(\(0° \leqq \theta \lt 90°\))
- 上方を基準に東に(つまり、左に、反時計回りに)測った方向。\(= \theta\)
- 当ブログの白経高弧交角が第 2 象限(\(90° \leqq \theta \lt 180°\))
- 下方を基準に東に(つまり、左に、時計回りに)測った方向。\(= 180° - \theta\)
- 当ブログの白経高弧交角が第 3 象限(\(-180° \leqq \theta \lt -90°\))
- 下方を基準に西に(つまり、右に、反時計回りに)測った方向。\(= 180° + \theta\)
- 当ブログの白経高弧交角が第 4 象限(\(-90° \leqq \theta \lt 0°\))
- 上方を基準に西に(つまり、右に、時計回りに)測った方向。\(= - \theta\)
の角として算出していることになる。留意しておこう。
食甚用時の視差計算 (2) 東西差と視緯
求用時東西差「以半径為一率、用時白経高弧交角之正弦為二率、用時高下差為三率、求得四率(秒下必帯小余二位。下倣此)為用時東西差(如無白経高弧交角、則無東西差。食甚用時即真時而高下差即南北差。如雖無白経高弧交角、有赤白二経交角、則食甚真時在用時之前後。即以食甚用時為近時。以一刻加減之、為真時。依後推考定真時之法、以求定真時。其加減之法、視緯在南而赤白二経交角西則加、東則減。視緯在北而赤白二経交角西則減、東則加)」
半径を以って一率と為し、用時白経高弧交角の正弦、二率と為し、用時高下差、三率と為し、求めて得る四率(秒下必ず小余二位を帯す。下此に倣へ)用時東西差と為す(もし白経高弧交角無ければ、則ち東西差無し。食甚用時即ち真時にして高下差即ち南北差。もし白経高弧交角無しといへども、赤白二経交角有れば、則ち食甚真時、用時の前後に在り。即ち食甚用時を以って近時と為し。一刻を以ってこれを加減し、真時と為す。後の推考定真時の法に依り、以って定真時を求む。其の加減の法、視緯南に在って赤白二経交角西は則ち加へ、東は則ち減ず。視緯北に在って赤白二経交角西は則ち減じ、東は則ち加ふ)
求用時南北差「以半径為一率、用時白経高弧交角之余弦為二率、用時高下差為三率、求得四率為用時南北差(如白経高弧交角為九十度、則無南北差。食甚実緯即視緯、而高下差即東西差)」
半径を以って一率と為し、用時白経高弧交角の余弦、二率と為し、用時高下差、三率と為し、求めて得る四率、用時南北差と為す(もし白経高弧交角九十度と為せば、則ち南北差無し。食甚実緯即ち視緯にして、高下差即ち東西差)。
求用時視緯「以用時南北差与食甚実緯相加減、得用時視緯(白平象限在天頂南、緯南則加仍為南、緯北則減仍為北。南北差大、則反減、変北為南。白平象限在天頂北、緯北則加仍為北、緯南則減仍為南。南北差大、則反減、変南為北。若無食甚実緯、則南北差即視緯、其南北随白平象限在天頂之南北。若無南北差、則食甚実緯即視緯、緯南仍為南、緯北仍為北。後倣此)」
用時南北差を以って食甚実緯と相加減し、用時視緯を得(白平象限、天頂の南に在れば、緯南は則ち加へなほ南と為し、緯北は則ち減じなほ北と為す。南北差大なれば、則ち反減し、北を変じて南と為す。白平象限、天頂の北に在れば、緯北は則ち加へなほ北と為し、緯南は則ち減じなほ南と為す。南北差大なれば、則ち反減し、南を変じて北と為す。もし食甚実緯無ければ、則ち南北差即ち視緯にして、其の南北は白平象限在天頂の南北に随ふ。もし南北差無ければ、則ち食甚実緯即ち視緯にして、緯南なほ南と為し、緯北なほ北と為す。後、此に倣へ)。
求用時両心視相距「以用時東西差為勾、用時視緯為股、求得弦為用時両心視相距(如無用時東西差、則用時視緯即食甚真時両心視相距。如無用時視緯、則用時東西差即用時両心視相距)」
用時東西差を以って勾と為し、用時視緯、股と為し、求めて得る弦、用時両心視相距と為す(もし用時東西差無ければ、則ち用時視緯即ち食甚真時両心視相距。もし用時視緯無ければ、則ち用時東西差即ち用時両心視相距)。
\[ \begin{align}
\text{実距弧}(@\text{用時}) &= 0 \\
\text{東西差}(@\text{用時}) &= \text{高下差}(@\text{用時}) \sin(\text{白経高弧交角}(@\text{用時})) \\
\text{南北差}(@\text{用時}) &= - \text{高下差}(@\text{用時}) \cos(\text{白経高弧交角}(@\text{用時})) \\
\text{視距弧}(@\text{用時}) &= \text{実距弧}(@\text{用時}) + \text{東西差}(@\text{用時}) \\
\text{視緯}(@\text{用時}) &= \text{食甚実緯} + \text{南北差}(@\text{用時}) \\
\text{視相距}(@\text{用時}) &= \sqrt{(\text{視距弧}(@\text{用時}))^2 + (\text{視緯}(@\text{用時}) )^2}
\end{align} \]
又法においては、直交座標のなかで、太陽・実月・視月がどのように動いていくのかを追っていく。ここで、このブログで説明にあたり用いる座標系を定義しておく。
「斜距黄道交角」「一小時両経斜距」の計算をするとき、太陽の場所を動かさないよう、カメラをパンしながら撮影し、月の動きを見ているのだと説明した。さらに、北方(白道北極方向)を画面の上に保つ(白道を水平に保つ)ようにカメラを回転させながら撮影しているのだとする。北方(白道北極方向)は、画面上で常に同じ方向(画面上方)である。一方、上方(天頂方向)は一般には一致しない。
このようにして、太陽と月が見える空をとらえたとき、北方(白道北極方向)を X軸正の方向、白道前方(東方)を Y軸正の方向とした平面直行座標を考える。
「東西が X 軸、南北が Y 軸」の方がわかりやすいかも知れないが、「X 軸を 90° 反時計回りに回転すると Y 軸」というかたちにした方がいいかなと思ったので、 「南北が X 軸、東西が Y 軸」とした。わかりにくければ、顔を左に傾けて画面を見てくださいな。
太陽 S は常に原点 (x, y) = (0, 0) にあるとする。
用時の実月 M は、 \(\overrightarrow{\text{SM}} = (\text{食甚実緯}, 0)\) の位置にあるはずである(「食甚実緯」は、月が太陽の北方にあるとき正、南方にあるとき負として定義した)。
なお、食甚用時との時刻差を \(t\) とし、月の角速度を \(v\) とするとき、時刻 \(t\) における実月は、\((\text{食甚実緯}, vt)\) にある。今、\(\text{実距弧} = vt\) として、時刻 \(t\) における実月は、\((\text{食甚実緯}, \text{実距弧})\) にあるとしておこう。「実距弧」という用語は、食甚用時の箇所では登場しない(どのみちゼロだから)が、近時以降で登場するので、話を一般化できるよう、ここでも既に名前を定義しておく。
白経高弧交角、つまり、「上方を起点 0° として反時計回りに測った北方の方向」を \(\theta\) とすると、「北方を起点 0° として反時計回りに測った上方の方向」は、\(- \theta\) である。そして、「北方を起点 0° として反時計回りに測った下方の方向」は、その 180° 反対方向であるから、\(180° - \theta\) となる。実月 M から見て視月 M' は、高下差だけ下方にあるので、実月 M を起点とした 視月 M' の位置は、
\(\overrightarrow{\text{MM}^\prime} = \text{高下差} (\cos(180° - \theta), \sin(180° - \theta)) = (- \text{高下差} \cos \theta, \text{高下差} \sin \theta)\)
である。これが、「南北差」「東西差」。
そして、原点(太陽 S)からみた視月の位置は、
\[ \begin{align}
\overrightarrow{\text{SM}^\prime} &= \overrightarrow{\text{SM}} + \overrightarrow{\text{MM}^\prime} \\
&= (\text{食甚実緯}, \text{実距弧}) + (\text{南北差}, \text{東西差}) \\
&= (\text{食甚実緯} + \text{南北差}, \text{実距弧} + \text{東西差})
\end{align} \]
となる。これが、「視緯」「視距弧」。「視距弧」は、実距弧 = 0 である食甚用時においては東西差に等しいので、用時の記述では「視距弧」という用語は使われていないが、近時以降では登場するので、ここでも既に名前を定義しておく。
そして、太陽と視月との距離「視相距」は、
\[ \text{視相距} = \left| \overrightarrow{\text{SM}^\prime} \right| = \sqrt{(\text{視緯})^2 + (\text{視距弧})^2} \]
である。
以降では、細かい場合わけの記述等をさらっておく。
(東西差)「秒下必ず小余二位を帯す」
珍しく計算精度の指定がある。0.01 秒(0°.000001)までの精度で算出せよということのようだが、十分に高い精度で算出することを要求しているだけと考え、とくに気にしないでおく。
(東西差)「もし白経高弧交角無ければ、則ち東西差無し。食甚用時即ち真時にして高下差即ち南北差。もし白経高弧交角無しといへども、赤白二経交角有れば、則ち食甚真時、用時の前後に在り。即ち食甚用時を以って近時と為し。一刻を以ってこれを加減し、真時と為す。後の推考定真時の法に依り、以って定真時を求む。其の加減の法、視緯南に在って赤白二経交角西は則ち加へ、東は則ち減ず。視緯北に在って赤白二経交角西は則ち減じ、東は則ち加ふ」
白経高弧交角が 0° または 180° のときの注記。このケースでは、単純に計算すると食甚近時 = 食甚用時になってしまうので、若干の特殊扱いをしている。これについては、以下の食甚近時を求めるところで詳述する。
(南北差)「もし白経高弧交角九十度と為せば、則ち南北差無し。食甚実緯即ち視緯にして、高下差即ち東西差」
白経高弧交角が 90° のとき、\(\cos(\text{白経高弧交角}) = 0\) のため、南北差がゼロとなり、\(\sin(\text{白経高弧交角}) = 1\) のため、東西差が高下差と等しくなるという、当たり前のことを言っているだけ。
(視緯)「白平象限、天頂の南に在れば、緯南は則ち加へなほ南と為し、緯北は則ち減じなほ北と為す。南北差大なれば、則ち反減し、北を変じて南と為す。白平象限、天頂の北に在れば、緯北は則ち加へなほ北と為し、緯南は則ち減じなほ南と為す。南北差大なれば、則ち反減し、南を変じて北と為す」
「白平象限(月の南中位置)が天頂の南」というのは通常のケースであり、この場合、白経高弧交角は、正または負の鋭角(第1, 4象限)であり、\(\cos(\text{白経高弧交角})\) は正。よって、南北差は負(南方向)となる。
「白平象限(月の南中位置)が天頂の北」というのは、熱帯地域の夏の南中付近のケースであり、この場合、白経高弧交角は、正または負の鈍角(第2, 3象限)であり、\(\cos(\text{白経高弧交角})\) は負。よって、南北差は正(北方向)となる。
視緯を求めるため、食甚実緯と南北差を加算すればいいのだが、例によってマイナスの数という概念を持たないので、単に「足す」といえばいいものを「同符号なら絶対値を加算し、結果の符号はもとの数の符号に従う。異符号なら絶対値を減算し、結果の符号は絶対値が大きい方の符号に従う」と書いてある。
(視緯)「もし食甚実緯無ければ、則ち南北差即ち視緯にして、其の南北は白平象限在天頂の南北に随ふ。もし南北差無ければ、則ち食甚実緯即ち視緯にして、緯南なほ南と為し、緯北なほ北と為す。後、此に倣へ」
「視緯 = 食甚実緯 + 南北差」の計算において、どちらかがゼロの場合について、当たり前のことを言っているだけ。
(視相距)「用時東西差を以って勾と為し、用時視緯、股と為し、求めて得る弦、用時両心視相距と為す」
勾股弦法、つまり、三平方の定理を使う。底辺・高さ(勾・股)から、斜辺(弦)を求める。用時において、東西差 = 視距弧なので、「視距弧を勾、視緯を股」ではなく、「東西差を勾、視緯を股」と記載されている。
(視相距)「もし用時東西差無ければ、則ち用時視緯即ち食甚真時両心視相距。もし用時視緯無ければ、則ち用時東西差即ち用時両心視相距」
東西差(= 視距弧)がゼロ、または、視緯がゼロのときの視相距について、基本的には当たり前のことを言っているだけ。一点、東西差がゼロのケースにおいて、「用時視緯即ち食甚用時両心視相距」ではなく、「用時視緯即ち食甚真時両心視相距」と言っている。
これは、東西差がゼロの場合、単純に計算すると「食甚用時 = 食甚近時」となってしまうので、ちょっと特殊扱いをするのだが、その場合、食甚用時をもって食甚真時であるとするので、「用時視緯即ち食甚真時両心視相距」になるわけである。
以上、食甚用時における視差計算について説明した。
次回は、食甚近時を求めるところから始まり、真時、定真時を求めて、真の食甚時刻(食甚定真時)と食甚食分を得、又法の食甚算出を完了させる。
[参考文献]
吉田 秀升, 山路 徳風, 高橋 至時, (校正) 土御門 泰栄「暦法新書」(寛政) 国立公文書館デジタルアーカイブ蔵
渋川 景佑「寛政暦書」 国立公文書館デジタルアーカイブ蔵
0 件のコメント:
コメントを投稿