Bir Işın ve Dünya Yüzeyi İçin Kesişim Noktası


11

Diyelim ki uzayda bir yerden çıkan bir ışın vektörüm var. Bir örnek güneşten gelen bir ışık ışını olabilir. Işın ve Dünya'nın yüzeyi arasındaki (varsa) kesişme noktasını nasıl hesaplayabilirim? Kartezyen koordinatları (ECEF) kullanıyorum ve Dünya'nın elipsoid Geometrisinin hesaplamayı hesaba katmasını istiyorum.

Yanıtlar:


12

Basit ama dağınık.

ECEF'de çalıştığınız için, muhtemelen ECEF koordinatlarında da rayın başlangıç ​​noktası (x, y, z) ve yön vektörü (u, v, w) vardır. Şimdilik, dünyanın yüzeyine yolculuk sırasında, dünyanın kayda değer bir şekilde hareket etmediğini varsayalım. (Dönen dünyanın en hızlı kısmı olan Ekvator, yaklaşık 0,45 km / sn hareket eder ve ışık yaklaşık 300,000 km / sn hareket eder, bu nedenle diyelim ki, dünyadan 1000 km yukarıda olan ve Ekvator'a doğru aşağı yukarı doğru ilerleyen bir ışın Ekvatorun 1,5 metre hareket edeceği ulaşmak için 1/300 saniye: bu muhtemelen kabul edilebilir bir hatadır.)

Sadece parametrelenmiş çizginin kesişimini hesaplamamız gerekir

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

fonksiyonun sıfır kümesi olarak düşünülebilecek dünya yüzeyi ile

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

burada a , yarı ana eksendir (6.378.137 metre) ve b , WGS84 elipsoidinin (6.356.752.3142 metre) yarı küçük eksenidir . İlk formülü ikinciye takın ve t için x, y, z, u, v, w cinsinden çözün . Bu ikinci dereceden bir denklemdir, bu yüzden iki çözüm elde edersiniz: biri dünyaya girmek için diğeri tekrar bırakmak için (örneğin bir nötrino için). Mesafenin en kısa olduğu çözümü seçin. Bu verir

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)])

Kavşak noktasını elde etmek için bu değeri birinci denkleme takın.

Çok uzak olmayan, ama çok uzak olmayan bir ışın için ( örneğin güneşten ama güneş sisteminin dışından değil), dünyaya ulaşmak için gereken T süresinin (saniyeler içinde) kaba bir tahminiyle başlayın : örneğin (x, y, z) ile dünyanın merkezine olan mesafeyi kullanın. Bu süre zarfında dünyanın dönme miktarını dikkate almak için başlangıç ​​koordinatlarını (x, y, z) değiştirin: bu, başlangıç ​​koordinatlarını

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

(nokta geriye doğru hareket edecektir ) c ve s 0.000072921150 * T radyan sinüs ve kosinüsüdür . Bu güncellenmiş konumdan başlayarak bir ışının kesişimini hesaplayın. Tahmini bir süre kullanılması nedeniyle 10 metreye kadar kapalı olabilirsiniz. Bu önemliyse, bu kesişme noktasına göre geçen süreyi yeniden tahmin edin ve hesaplamayı T'nin yeni değeri ile tekrarlayın .


Vay. İnanılmaz derecede ayrıntılı cevap için çok teşekkür ederim!
Pris

Bu soru diğerine çok yakın görünüyor: gis.stackexchange.com/questions/86031/… Ancak ECEF kullanmıyorum. @Whuber'a benzer bir şekilde çözülebilir mi? Thx
alvarolb

1
@alvarolb ECEF ve (lon, lat, rakım) arasında nasıl dönüştürüleceğini gösteren bir referans gis.stackexchange.com/questions/20714 adresinde verilmiştir .
whuber

Jeodezikten EFEC'e ve tekrar jeodeziklere geçmeden doğrudan hesaplanamaz mı?
alvarolb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.