光線と地球の表面の交点


11

宇宙のどこかから発生した光線ベクトルがあるとします。例としては、太陽からの光線があります。光線と地球の表面の交差点(存在する場合)を計算するにはどうすればよいですか?デカルト座標(ECEF)を使用していますが、地球の楕円体のジオメトリを計算に含めたいです。

回答:


12

シンプルですが面倒です。

ECEFで作業しているため、おそらく、ECEF座標にも光線の原点(x、y、z)と方向ベクトル(u、v、w)があります。今のところ、地球の表面への旅行中に、地球はあまり移動しないと仮定しましょう。(回転する地球の最速部分である赤道は約0.45 km /秒で移動し、光は約300,000 km /秒で移動するため、たとえば地球から1000 km上で赤道に向かってほぼ真っ直ぐ下に向かう光線は、 1/300秒で到達し、その間に赤道が1.5メートル移動します。これはおそらく許容可能なエラーです。)

パラメータ化されたラインの交差部分を計算するだけです

t --> (x,y,z) + t*(u,v,w)

関数のゼロセットと考えることができる地球の表面で

(x/a)^2 + (y/a)^2 + (z/b)^2 - 1

ここでaは半長軸(6,378,137メートル)、bWGS84楕円体の半短軸(6,356,752.3142メートル)です。最初の式を2番目の式に差し込み、x、y、z、u、v、wに関してtを解きます。これは二次方程式なので、最大2つの解が得られます。1つは地球への進入、もう1つは地球からの退出です(たとえば、ニュートリノの場合)。距離が最短のソリューションを選択してください。これは与える

t = -(1/(b^2 (u^2 + v^2) +  a^2 w^2)) * (b^2 (u x + v y) + a^2 w z + 1/2 Sqrt[
     4 (b^2 (u x + v y) + a^2 w z)^2 - 
     4 (b^2 (u^2 + v^2) + a^2 w^2) (b^2 (-a^2 + x^2 + y^2) + a^2 z^2)])

この値を最初の方程式に代入して、交点を取得します。

遠くから発生するが、それほど遠くない(たとえば、太陽系からではなく、太陽系外からではない)光線の場合、地球に到達するのに要する時間Tの大まかな推定値から開始します(秒単位)。たとえば、(x、y、z)から地球の中心までの距離を使用します。この間の地球の回転量を考慮して、開始座標(x、y、z)を変更します。これにより、開始座標が次のように変更されます。

(x*c + y*s, -x*s + y*c, z)

(ポイントは後方に移動するように見えます)cとsは0.000072921150 * Tラジアンのサインとコサインです。この更新された位置から開始する光線の交差を計算します。推定時間を使用しているため、10メートルほど離れている場合があります。これが問題になる場合は、この交点に基づいて経過時間を再推定し、Tの新しい値を使用して計算を繰り返します。


ワオ。非常に詳細な回答をありがとうございます!
プリス

この質問はこの別の質問に近すぎるようです:gis.stackexchange.com/questions/86031/…しかし、私はECEFを使用していません。@whuber同様の方法で解決できますか?Thx
アルバロブ

1
@alvarolb ECEFと(lon、lat、height)の間の変換方法を示すリファレンスは、gis.stackexchange.com/questions/20714提供されています。
whuber

測地線からEFECに渡さずに直接計算し、測地線に戻すことはできませんか?
アルバロブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.