Ponto de interseção para um raio e a superfície da Terra

11

Digamos que eu tenha um vetor de raio originário de algum lugar no espaço. Um exemplo pode ser um raio de luz do sol. Como posso calcular o ponto de interseção (se existir) entre o raio e a superfície da Terra? Estou usando coordenadas cartesianas (ECEF) e gostaria que a geometria elipsóide da Terra fosse fatorada no cálculo.

Pris
fonte

Respostas:

12

É simples, mas confuso.

Como você está trabalhando no ECEF, presumivelmente você tem a origem do raio (x, y, z) e o vetor de direção (u, v, w) nas coordenadas do ECEF também. Por enquanto, vamos supor que, durante o tempo de viagem à superfície da Terra, a Terra não se mova sensivelmente. (A parte mais rápida da Terra em rotação, o Equador, se move cerca de 0,45 km / s, e a luz se move cerca de 300.000 km / s, então um raio originando, digamos, 1000 km acima da Terra e indo mais ou menos diretamente para o Equador 1/300 segundo para alcançá-lo, durante o qual o Equador se moverá 1,5 metro: provavelmente é um erro aceitável.)

Só precisamos calcular a interseção da linha parametrizada

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

com a superfície da Terra, que pode ser considerada o conjunto zero da função

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

onde a é o eixo semi-maior (6.378.137 metros) eb é o eixo semi-menor do elipsóide WGS84 (6.356.752.3142 metros). Conecte a primeira fórmula à segunda e resolva t em termos de x, y, z, u, v, w . Como é uma equação quadrática, você tem duas soluções: uma para entrar na terra e outra para deixá-la novamente (o que aconteceria, por exemplo, para um neutrino). Escolha a solução para a qual a distância é mais curta. Isto dá

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

Conecte esse valor à primeira equação para obter o ponto de interseção.

Para um raio que se origina muito longe, mas não muito longe ( por exemplo, do sol, mas não de fora do sistema solar), comece com uma estimativa grosseira do tempo que T levará para alcançar a Terra (em segundos): você pode use a distância de (x, y, z) ao centro da terra, por exemplo. Modifique as coordenadas iniciais (x, y, z) para contabilizar a quantidade de rotação da Terra durante esse tempo: isso alterará as coordenadas iniciais para

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

(o ponto parecerá se mover para trás ), onde c e s são o seno e o cosseno de 0,000072921150 * T radianos . Calcule a interseção para um raio começando neste local atualizado. Você pode descer cerca de 10 metros ou mais devido ao uso de um tempo estimado. Se isso importa, re-estimar o tempo decorrido com base neste ponto de intersecção e repita o cálculo com o novo valor da T .

whuber
fonte
Uau. Muito obrigado pela resposta incrivelmente detalhada!
Pris
Essa pergunta parece estar muito próxima dessa outra: gis.stackexchange.com/questions/86031/… No entanto, eu não uso o ECEF. Pode ser resolvido de maneira semelhante @whuber? Thx
alvarolb
1
@alvarolb Uma referência que mostra como converter entre ECEF e (lon, lat, altitude) é fornecida em gis.stackexchange.com/questions/20714 .
whuber
Não pode ser calculado diretamente sem passar do geodésico para o EFEC e de volta para o geodésico?
Alvarolb