計算の詳細で使ったこの公式を、高校数学の「空間ベクトルの内積」だけで導きます。
使う道具は3つだけ。①空間の点を (x, y, z) で表すこと、②ベクトルの内積の公式(a·b = |a||b|cos θ。今回は長さ1の単位ベクトルなので a·b = cos θ)、③三角関数。太字(n や s)はベクトルを表します。それぞれの記号は、φ = あなたの緯度、δ = 太陽の赤緯(太陽の真下の地点の緯度)、H = 時角(太陽が真南からズレている角度)です。
太陽の高度 h は「地平線から太陽まで」の角度です。これを直接測る代わりに、「天頂(真上)方向」と「太陽方向」のなす角 θ を考えます。太陽が真上にあれば θ = 0° で h = 90°、地平線上なら θ = 90° で h = 0°。つまり
そして、単位ベクトルどうしの内積はなす角の cos そのものです。だから「天頂方向の単位ベクトル」と「太陽方向の単位ベクトル」を作って内積を取れば、それがそのまま sin h になります。あとはベクトルを成分で書くだけです。
地球の中心を原点に、宇宙の方向(天球)を使って次のような直交座標(x,y,zがすべて90°で交わる軸)を取ります:
このようにx軸やy軸を「見慣れた空の方角」に合わせるのがこの導出のコツです。こうすると経度が式から消えて、時角 H だけが残ります。
空間の斜めの矢印(ベクトル)を (x, y, z) の成分に分ける基本ルールは、「まず高さを sin と cos で出し、地面に落ちた影をさらに水平面で分ける」という2段階のステップです。どちらのベクトルも長さは1とします。
あなたの「真上」は、真南(x軸)から北極星(z軸)へ向かって、あなたの緯度 φ のぶんだけ首を上に向けた方向です。
1. 高さ(z): 角度 φ だけ上を向くので、高さは sin φ です。
2. 地面の影の長さ: 残った横の長さは cos φ になります。
3. 影を分ける(xとy): 真上方向は、真南から東西(y方向)には一切ズレていないので、影はすべてそのまま x軸に乗ります。つまり x成分が cos φ、y成分は 0 です。
これらを (x, y, z) の順に並べると、天頂方向のベクトルが完成します。
太陽は赤道から δ の高さにあり、真南(x軸)を基準にして西(y軸)へ H だけ回った方向(時角)にあります。
1. 高さ(z): 角度 δ だけ高い位置にあるので、高さは sin δ です。
2. 地面の影の長さ: 赤道面に落ちた太陽の影の長さは cos δ です。
3. 影を分ける(xとy): この長さ cos δ の影が、真南(x軸)から西(y軸)へ角度 H だけ回っています。影の長さを斜辺とした直角三角形をイメージすると、x方向には cos H を、y方向には sin H を掛ければ成分を分けられます。
cos δ · cos Hcos δ · sin Hこれで太陽方向の3つの成分も揃いました。
どちらも長さ1のベクトルなので、内積がそのまま cos θ です:
最初に確認した sin h = cos θ を使えば:
導出はこれだけです。y 成分がゼロと掛かって消えるのは、x軸を自分の経線に合わせたおかげ。「球面三角法の公式」という名前がついていますが、正体は内積の成分計算1行でした。
2つだけ、暗黙の近似があります。①地球を完全な球とみなす(実際は赤道方向にわずかに膨らんだ回転楕円体。緯度の定義に最大0.2°ほどの差が出ますが、空の色には影響しません)。②太陽を無限に遠い光源とみなし、「地球の中心から見た太陽の方向」と「あなたから見た太陽の方向」を同じとする(太陽までの距離は地球の半径の約23,000倍なので、この差は最大でも0.002°程度です)。