광선과 지표면의 교차점


11

우주 어딘가에서 나온 광선 벡터가 있다고 가정 해보십시오. 태양으로부터의 광선이 그 예입니다. 광선과 지표면 사이의 교차점 (존재하는 경우)을 어떻게 계산할 수 있습니까? 직교 좌표 (ECEF)를 사용하고 있으며 지구의 타원체 형상이 계산에 반영되기를 원합니다.

답변:


12

간단하지만 지저분합니다.

ECEF에서 작업하고 있기 때문에 아마도 광선의 원점 (x, y, z)과 방향 벡터 (u, v, w)도 ECEF 좌표에 있습니다. 현재 지구 표면으로 이동하는 동안 지구가 눈에 띄게 움직이지 않는다고 가정 해 봅시다. (회전하는 지구에서 가장 빠른 부분 인 적도는 약 0.45km / sec 이동하고 빛은 약 300,000km / sec 이동하므로 광선이 지구에서 1000km 떨어져 있고 적도를 향해 곧장 향합니다. 도달하는 데 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 미터) 의 반 주축입니다 . 첫 번째 공식을 두 번째 공식에 연결하고 x, y, z, u, v, w의 관점에서 t구합니다 . 이것은 2 차 방정식이므로 최대 두 가지 솔루션을 얻을 수 있습니다. 하나는 지구에 들어가기위한 것이고 다른 하나는 지구를 떠나기위한 것입니다 (예 : 중성미자). 거리가 가장 짧은 솔루션을 선택하십시오. 이것은 준다

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로 계산을 반복하십시오 .


와. 엄청나게 자세한 답변을 주셔서 감사합니다!
Pris

이 질문은이 질문에 너무 가까운 것 같습니다 : gis.stackexchange.com/questions/86031/… 그러나 나는 ECEF를 사용하지 않습니다. @ whuber와 비슷한 방식으로 해결할 수 있습니까? Thx
alvarolb

1
@alvarolb ECEF와 (lon, lat, altitude) 사이의 변환 방법을 보여주는 참조는 gis.stackexchange.com/questions/20714에 있습니다.
whuber

측지선에서 EFEC로, 다시 측지선으로 전달하지 않고 직접 계산할 수 없습니까?
alvarolb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.