Up 太陽の方角 作成: 2020-09-25
更新: 2020-09-27


    地上の点Pから見た太陽の方角を,求めたい。
    Pの緯度aとし,いまの位置ベクトルを \( {\bf x} \) とする。
    太陽の方角は,太陽方向ベクトル \( {\bf s} \) を地平面に下ろしたベクトルで表す。


    「地平面に下ろす」を述べるには,数学が要る。 ──数学をやっていないと,言い方に困る。
    これは,つぎのように述べられる:
      \( {\bf x} \) と \( {\bf s} \) が張るを平面を \( S_{\bf {xs}} \) とする。
      Pを足とし \( S_{\bf xs} \) と垂直なベクトル \( {\bf t}\) をとる。
      \( {\bf t} \) と \( {\bf x} \) が張るを平面を \( S_{\bf {tx}} \) とする。
      Pを足とし \( S_{\bf tx} \) と垂直なベクトル \( {\bf d} \) をとる。
      \( {\bf d}\) が, 「太陽の方角」ベクトルになる。

    ただし,この述べ方はまだ不十分である。
    太陽を前に見る向きと背後にする向きの2通りになるからである。

    太陽を前に見るようにするには,つぎのように述べればよい:
      \( S_{\bf xs} \) 上で,P を足にして,2∠R より小さい回転で \( {\bf x} \) を \( {\bf s} \) に重ねることを考える。
      この回転で右ネジが進む方向を \( {\bf t}\) の向きにする。
      \( S_{\bf tx} \) 上で,P を足にして,2∠R より小さい回転で \( {\bf t} \) を \( {\bf x} \) に重ねることを考える。
      この回転で右ネジが進む方向を \( {\bf d}\) の向きにする。

    しかし,絵はわかるにしても,言い回しが面倒である。
    数学は,この言い回しを簡単にする用語を用意している。
    「ベクトルの外積」である。
    この用語を用いると,\( {\bf d}\) の導入はつぎのように述べられる:
      \( {\bf x} \) と \( {\bf s} \) の外積 \( {\bf x} \times {\bf s} \) を,\( {\bf t}\) とする。
      \( {\bf t} \) と \( {\bf x} \) の外積 \( {\bf t} \times {\bf x} \) を,\( {\bf d}\) とする。

    「外積」は高校数学には出て来ないが,高校物理の「フレミングの右手の法則」は「右ネジの法則」であり,「外積」をやっているわけである。
    外積は,ベクトルの成分で表すとつぎのようになる: \[ ( a_1, a_2, a_3) \times (b_1, b_2, b_3) \\ \quad = ( a_2 b_3 - a_3 b_2, \ a_3 b_1 - a_1 b_3, \ a_1 b_2 - a_2 b_1 ) \\ \ \\ \] こうして,「太陽の方角」ベクトル \( {\bf d } \) がつぎの計算で求まる: \[ {\bf d } = ( {\bf x} \times {\bf s} ) \times {\bf x} \\ \quad = ( ( (x, y, z) \times (\tau_s, - \tau_c, 0 ) ) \times (x, y, z) \\ \quad = ( y 0 - z (- \tau_c), \ z \tau_s - x 0, \ x (- \tau_c) - y \tau_s ) \times (x, y, z) \\ \quad = ( \tau_c z, \ \tau_s z, \ - \tau_c x - \tau_s y ) \times (x, y, z) \\ \quad = ( \tau_s z z - (- \tau_c x - \tau_s y) y, \ (- \tau_c x - \tau_s y) x - \tau_c z z, \ \tau_c z y - \tau_s z x) \\ \quad = ( \tau_s ( y^2 + z^2 ) + \tau_c ( x y ), \ - \tau_s ( x y ) - \tau_c ( z^2 + x^2 ), \ - \tau_s ( z x ) + \tau_c ( y z ) ) \\ \] そして \( {\bf d } \) の大きさは,\( {\bf x} \cdot {\bf s} = cos( \alpha ) \) のαに対し, \[ | {\bf t} | = | {\bf x} | | {\bf s} | \ sin( \alpha ) = sin( \alpha ) \\ | {\bf d} | = | {\bf t} | | {\bf x} | \ sin( \pi / 2 ) = sin( \alpha ) \\ \] 「太陽の高度」で \[ cos( \alpha ) = \tau_s \ x - \tau_c \ y \] を得ているので,これより \[ sin( \alpha ) = \sqrt { 1 - ( cos( \alpha ) )^2 } = \sqrt { 1 - ( \tau_s \ x - \tau_c \ y )^2 } \\ \]

    まとめ
    公転角度τのときの,座標 (x, y, z) での太陽方角ベクトル:
    \[ {\bf d} = ( \ \tau_s ( y^2 + z^2 ) + \tau_c ( x y ), \\ \ - \tau_s ( x y ) - \tau_c ( z^2 + x^2 ), \\ \ - \tau_s ( z x ) + \tau_c ( y z ) ) \\ \ \\ | {\bf d} | = \sqrt { 1 - ( \tau_s \ x - \tau_c \ y )^2 } \\ \ \\ \]