2023/11/11
Unityで大気光学現象のシミュレーションはできるのか気になったので挑戦してみる6
上部タンジェントアークのシミュレーションに必要な計算のうちの一つを求めれたのでそれを紹介します。
上部タンジェントアークの計算には「水平な面との一定の角度(a)をなす線を、垂直な軸を中心に任意の角度x回転し、平面に写した時、水平な面と線のなす角度y」を求める必要がありました。
図で表すと、
左から見ると、
aとbは実際の角度。yは見かけの角度になります。
ではyを求めていきます
Oは原点(0,0,0)
線分AOは水平な面とa°の角度をなし、Y軸中心にx度回転させる
AのZ座標を0にした場所がB
yは線分BOとy軸がなす角
AのY座標を0にした場所がD(真下に線を下した時の平面との交点)
DのX座標を0にした場所がC
AのX座標とZ座標を0にした場所がE
DAの長さを三角関数を使って求めると、
これがAとBのy座標になります。
DOの長さも三角関数を使って求めると
対頂角は等しいので
CDの長さを三角比を使って求めると
これがAとBのX座標になります。
OとD、EとAのY座標はそれぞれ等しいので
・・・①
EとC、BとDのX座標はそれぞれ等しいので
・・・②
yの角度は①と②より三角関数を使って求めると
この式を求めないといけない訳は、上部タンジェントアークの光路は氷晶が回転することで光線が正規面から外れ、氷を出る時に水平面での回転が起こるためです。
幻日や環天頂アークなどは光が回転することで正規面から外れるので最終的には角度は元に戻るためこの式は必要ありません。