Điểm giao nhau cho bề mặt của Ray và Trái đất


11

Nói rằng tôi có một vectơ tia có nguồn gốc từ một nơi nào đó trong không gian. Một ví dụ có thể là một tia sáng từ mặt trời. Làm thế nào tôi có thể tính điểm giao nhau (nếu nó tồn tại) giữa tia và bề mặt Trái đất? Tôi đang sử dụng tọa độ Descartes (ECEF) và tôi muốn Hình học ellipsoid của Trái đất tham gia vào phép tính.

Câu trả lời:


12

Nó đơn giản nhưng lộn xộn.

Vì bạn đang làm việc trong ECEF, có lẽ bạn cũng có nguồn gốc của tia (x, y, z) và vectơ chỉ hướng (u, v, w) trong tọa độ ECEF. Hiện tại, hãy giả sử rằng trong thời gian du hành đến bề mặt trái đất, trái đất không di chuyển đáng kể. (Phần nhanh nhất của trái đất quay, Xích đạo, di chuyển khoảng 0,45 km / giây và ánh sáng di chuyển khoảng 300.000 km / giây, do đó, một tia sáng bắt nguồn từ 1000 km so với trái đất và hướng thẳng xuống Xích đạo 1/300 giây để đạt được nó, trong đó Xích đạo sẽ di chuyển 1,5 mét: đó có thể là một lỗi chấp nhận được.)

Chúng ta chỉ cần tính toán giao điểm của đường tham số

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

với bề mặt trái đất, có thể được coi là tập hợp số 0 của hàm

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

trong đó a là trục bán chính (6.378.137 mét) và b là trục bán phụ của ellipsoid WGS84 (6.356.752,3142 mét). Cắm công thức đầu tiên vào công thức thứ hai và giải cho t theo x, y, z, u, v, w . Đó là một phương trình bậc hai, vì vậy bạn có tới hai giải pháp: một để vào trái đất và một giải pháp khác để lại nó (ví dụ, điều này sẽ xảy ra đối với neutrino). Chọn giải pháp mà khoảng cách là ngắn nhất. Điều này mang lại

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

Cắm giá trị này vào phương trình đầu tiên để có được điểm giao nhau.

Đối với một tia có nguồn gốc từ xa, nhưng không quá xa ( ví dụ, từ mặt trời nhưng không phải từ bên ngoài hệ mặt trời), hãy bắt đầu với một ước tính sơ bộ về thời gian T cần để đến trái đất (tính bằng giây): bạn có thể ví dụ, sử dụng khoảng cách từ (x, y, z) đến tâm trái đất. Sửa đổi tọa độ bắt đầu (x, y, z) để tính số lượng vòng quay của trái đất trong thời gian này: điều này sẽ thay đổi tọa độ bắt đầu thành

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

(điểm dường như sẽ di chuyển ngược ) trong đó c và s là sin và cos của 0,000072921150 * T radian . Tính toán giao điểm cho một tia bắt đầu tại vị trí được cập nhật này. Bạn có thể tắt khoảng 10 mét hoặc lâu hơn do sử dụng thời gian ước tính. Nếu những vấn đề này, lại ước tính thời gian trôi qua dựa trên thời điểm này giao nhau và lặp lại các tính toán với giá trị mới của T .


Ồ Cảm ơn bạn rất nhiều vì câu trả lời cực kỳ chi tiết!
Pris

Câu hỏi này dường như quá gần với câu hỏi này: gis.stackexchange.com/questions/86031/NH Tuy nhiên tôi không sử dụng ECEF. Có thể được giải quyết theo cách tương tự @whuber? Thx
alvarolb

1
@alvarolb Một tài liệu tham khảo cho thấy cách chuyển đổi giữa ECEF và (lon, lat, độ cao) được đưa ra tại gis.stackexchange.com/questions/20714 .
whuber

Không thể được tính trực tiếp mà không chuyển từ trắc địa sang EFEC và chúng trở lại trắc địa?
alvarolb
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.