Titik Persimpangan untuk Sinar dan Permukaan Bumi

11

Katakanlah saya memiliki vektor sinar yang berasal dari suatu tempat di luar angkasa. Contohnya mungkin sinar cahaya dari matahari. Bagaimana saya bisa menghitung titik persimpangan (jika ada) antara sinar dan permukaan bumi? Saya menggunakan koordinat Cartesian (ECEF) dan saya ingin Geometri ellipsoid Bumi dimasukkan ke dalam perhitungan.

Pris
sumber

Jawaban:

12

Sederhana tapi berantakan.

Karena Anda bekerja di ECEF, mungkin Anda memiliki asal-usul sinar (x, y, z) dan vektor arah (u, v, w) dalam koordinat ECEF juga. Untuk saat ini mari kita asumsikan bahwa selama perjalanan ke permukaan bumi, bumi tidak bergerak secara berarti. (Bagian tercepat dari bumi yang berputar, Khatulistiwa, bergerak sekitar 0,45 km / detik dan cahaya bergerak sekitar 300.000 km / detik, sehingga sinar yang berasal, katakanlah, 1000 km di atas bumi dan menuju sedikit lebih lurus ke bawah ke arah Khatulistiwa akan membawa 1/300 detik untuk mencapainya, di mana Equator akan bergerak 1,5 meter: itu mungkin kesalahan yang bisa diterima.)

Kita hanya perlu menghitung persimpangan garis parameterisasi

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

dengan permukaan bumi, yang dapat dianggap sebagai set nol fungsi

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

di mana a adalah sumbu semi-utama (6.378.137 meter) dan b adalah sumbu semi-minor dari ellipsoid WGS84 (6.356.752.3142 meter). Masukkan formula pertama ke rumus kedua dan selesaikan untuk t dalam hal x, y, z, u, v, w . Ini adalah persamaan kuadrat, jadi Anda mendapatkan dua solusi: satu untuk memasuki bumi dan yang lain untuk meninggalkannya lagi (yang akan terjadi, misalnya, untuk neutrino). Pilih solusi yang jaraknya paling pendek. Ini memberi

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

Masukkan nilai ini ke dalam persamaan pertama untuk mendapatkan titik persimpangan.

Untuk sinar yang berasal dari jauh, tetapi tidak terlalu jauh ( misalnya, dari matahari tetapi bukan dari luar tata surya), mulailah dengan perkiraan kasar waktu T yang diperlukan untuk mencapai bumi (dalam detik): Anda bisa gunakan jarak dari (x, y, z) ke pusat bumi, misalnya. Ubah koordinat awal (x, y, z) untuk memperhitungkan jumlah rotasi bumi selama waktu ini: ini akan mengubah koordinat awal menjadi

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

(intinya tampaknya akan bergerak mundur ) di mana c dan s adalah sinus dan kosinus dari 0,000072921150 * T radian . Hitung persimpangan untuk sinar mulai dari lokasi yang diperbarui ini. Anda mungkin pergi sejauh 10 meter atau lebih karena penggunaan perkiraan waktu. Jika ini penting, perkirakan kembali waktu yang berlalu berdasarkan titik persimpangan ini dan ulangi perhitungan dengan nilai T yang baru .

whuber
sumber
Wow. Terima kasih banyak atas jawaban yang sangat detail!
Pris
Pertanyaan ini tampaknya terlalu dekat dengan yang lain: gis.stackexchange.com/questions/86031/... Namun saya tidak menggunakan ECEF. Bisa dipecahkan dengan cara serupa @whuber? Thx
alvarolb
1
@alvarolb Referensi yang menunjukkan bagaimana mengkonversi antara ECEF dan (lon, lat, altitude) diberikan di gis.stackexchange.com/questions/20714 .
whuber
Tidak dapat dihitung secara langsung tanpa beralih dari geodesik ke EFEC dan mereka kembali ke geodesik?
alvarolb