Calcular o ângulo de inclinação para um determinado ângulo na órbita de um planeta?


8

O pano de fundo é que estou tentando escrever um programa de computador para mostrar em que ângulos cada planeta seria visto transitando em frente ao sol por um observador fora do nosso sistema solar. Meu jogo final é calcular as porcentagens relativas do céu que poderiam ver qualquer grupo de planetas transitando juntos. Por exemplo, na direção em que a Terra é do sol em junho e dezembro, um observador alienígena que pode ver o trânsito da Terra também pode ver o trânsito de Vênus, mas do ângulo em que a Terra está em setembro ou março, nunca seria capaz de ver Trânsito de Vênus.

Eu escrevi um programa usando estatísticas básicas e órbitas circulares para testar a idéia, mas gostaria de torná-lo mais robusto usando órbitas elípticas reais e estou tendo problemas. Para órbitas circulares com o sol no centro, eu era capaz de apenas levar a inclinação dos tempos de órbita da Terra sinà longitude de visualização em relação à longitude de ascensão.

double viewingLongitude = longitudeRadians - LongitudeOfAscent;
double planetAngle = Inclination * Math.Sin(viewingLongitude);

Por exemplo, a órbita da Terra tem uma inclinação de 1,57 graus e longitude de subida em 348,74 graus. A 348,74 graus e 168,74 graus a Terra terá uma inclinação real de 0 graus. A 78,74 graus e 158,74 graus a Terra terá uma inclinação real de 1,57 e -1,57 graus do plano.

Existe uma maneira fácil semelhante de calcular essa inclinação para a órbita elíptica da Terra ou terei que resolver as equações de Kepler?


Provavelmente estou perdendo alguma coisa, mas que plano você está usando como plano base (não o plano orbital da eclíptica / da Terra, já que a inclinação da Terra para a eclíptica é 0 por definição). O seu observador pode escolher subir acima ou descer abaixo deste plano?
Barrycarter

Qualquer avião serve, mas estou usando o plano invariável, pois essas são as inclinações que encontrei. O que eu estou procurando é a gama de ângulos para cima / baixo de onde vários planetas podem ser vistos. A orientação atual com relação ao resto do universo não importa, apenas com relação aos outros planetas. Eu só quero saber quando os ângulos de visão se sobrepõem.
precisa

Respostas:


3

Resumindo, não, você não precisa resolver a equação de Kepler. Se você definir uma longitude de visualização e conhecer o conjunto completo de elementos orbitais keplerianos, poderá calcular se um planeta mostrará um trânsito.

Deixe-me primeiro esclarecer um pouco do jargão. O termo inclinação é tradicionalmente reservado para o ângulo entre o plano orbital e o plano de referência. Portanto, a menos que a órbita inteira esteja oscilando (por exemplo, devido à precessão), a inclinação será constante para todas as posições do planeta.

O ângulo que varia conforme o planeta se move através do plano de referência é a latitude. No entanto, nesse problema específico, calcular a latitude não é particularmente útil. A coordenada mais prática de se olhar é a altura do planeta distante do avião, chamarei isso de . Se, ao longo da linha de visão de seus observadores, você descobrir que é menor que o raio solar, o planeta mostrará um trânsito.rzrz

Trabalhar em uma órbita elíptica totalmente geral em três dimensões é um pouco complicado, então começarei com um sistema de coordenadas cartesianas simples alinhado com o plano orbital. Nas etapas subseqüentes, eu volto usando várias transformações de coordenadas.

Primeiro, uma lista dos parâmetros do Kepler e seu significado:

  • ν - anomalia verdadeira - A posição angular em relação ao perigeu no plano orbital.
  • ω - argumento da periapsia - A posição angular do perigeu em relação ao nó ascendente no plano orbital.
  • λasc - a longitude do nó ascendente no plano invariável ( na figura).Ω
  • i - inclinação - o ângulo entre o plano orbital e o plano invariável, de modo que fornece o eixo de rotação.λasc

insira a descrição da imagem aqui

Agora, no plano orbital, o raio da órbita do planeta é dado como Se eu definir x - para alinhar com o nó ascendente, posso escrever o vetor de posição como

r(ν)=a(1e2)1+ecos(ν)
rorb=r(ν)[cos(ω+ν)sin(ω+ν)0]

Para mover para um sistema de coordenadas cartesianas alinhado com o plano invariável, tenho que aplicar uma rotação do ângulo torno do eixo x, então Então agora eu tenho uma expressão para , só preciso saber como se relaciona com a longitude do planeta no plano invariável, .i

r=Rx(i)rorb=r(ν)[cos(ω+ν)sin(ω+ν)cos(i)sin(ω+ν)sin(i)]
rzνλplanet

Eu posso encontrar a longitude do planeta em relação a como forma que a longitude real seja inversão dessa última expressão fornece λasc

λplanet=arctan(ryrx)
λplanet=λasc+λplanet
ν(λ)=arctan(tan(λλasc)cos(i))ω

Agora eu tenho todas as equações para responder à pergunta: Se o planeta está ao longo da linha de visão do observador, existe uma verdadeira anomalia de , que dá uma altura acima do plano Se o planeta pode ser visto em trânsito.ν(λobs)

rz(ν)=r(ν)sin(ω+ν)sin(i)
|rz|<Rsun
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.