Calculadora geométrica dos pontos de Lagrange L4 e L5
Esta calculadora geométrica de L4 e L5 transforma uma separação positiva entre o corpo primário e o secundário nas posições dos dois pontos triangulares de Lagrange.
Executar grátis
Ela adota um referencial bidimensional claro: o primário fica na origem, o secundário no eixo x positivo e cada ponto triangular mantém de ambos os corpos a mesma distância existente entre eles. O resultado fornece coordenadas cartesianas do primário, do secundário, de L4 e de L5, prontas para diagramas, simulações, aulas e cálculos reproduzíveis.
Entenda o referencial antes de usar as coordenadas
A calculadora fixa o corpo primário em x = 0 e y = 0 e posiciona o corpo secundário com x igual à separação informada e y = 0. Essa convenção transforma uma questão que dependeria da orientação em uma resposta cartesiana única. L4 é o vértice no lado positivo de y em relação à linha entre os corpos e representa sessenta graus à frente na orientação escolhida; L5 é o reflexo no lado negativo de y e representa sessenta graus atrás. Ambos têm coordenada x igual à metade da separação. O módulo da coordenada y é a altura do triângulo equilátero: a separação multiplicada pela raiz quadrada de três e dividida por dois. A entrada não exige uma unidade física específica. Se a separação estiver em quilômetros, todas as coordenadas retornadas estarão em quilômetros; se estiver em unidades astronômicas, todas usarão unidades astronômicas. Mantenha a mesma unidade em todo o seu fluxo de trabalho, pois esta operação geométrica não identifica, deduz nem converte unidades. Ela apenas preserva a escala fornecida por você.
Interprete o significado do resultado geométrico
L4 e L5 formam triângulos equiláteros com os dois corpos massivos no modelo circular restrito ideal de três corpos. A calculadora retorna esses vértices ideais, e não uma integração orbital numérica ou uma efeméride. Assim, o primário e o secundário definem um instante em um referencial bidimensional girante, e os pontos calculados apresentam a mesma separação em relação a cada extremidade. Você pode verificar a construção diretamente: a distância de qualquer ponto triangular ao primário é igual à separação de entrada, e o mesmo vale para a distância até o secundário. Os sinais das coordenadas y diferenciam as duas soluções simétricas. O lado considerado adiantado depende da convenção de orientação de uma simulação maior; portanto, associe y positivo à direção apropriada do seu sistema antes de combinar estes valores com outros dados. As massas não são solicitadas porque não alteram as coordenadas dos vértices equiláteros nessa geometria ideal. Elas são relevantes para estabilidade, dinâmica, coordenadas baricêntricas e trajetórias reais, temas que este cálculo específico não pretende solucionar.
Use a saída corretamente em diagramas e cálculos
Comece com uma separação medida de modo consistente, envie-a como um número finito positivo e consulte os quatro objetos de posição retornados. As entradas do primário e do secundário deixam explícita a linha de base adotada, enquanto L4 e L5 podem ser plotados sem reconstruir o referencial. Em um desenho, use a mesma escala nos dois eixos; escalas visuais diferentes podem fazer os triângulos parecerem deformados mesmo quando as coordenadas estão corretas. Se a sua simulação utiliza uma origem baricêntrica, desloque os quatro pontos pelo valor exigido pelo modelo depois deste cálculo. Se a linha de base aponta para outra direção, gire todos os pontos pelo ângulo desejado. Translação e rotação preservam a geometria equilátera. Uma separação igual ou inferior a zero é rejeitada porque corpos distintos não podem definir um triângulo válido com essa base; valores não finitos também são rejeitados, pois não geram coordenadas significativas. A operação é determinística e não usa rede, horário atual, valores aleatórios, catálogos de corpos celestes nem constantes ocultas além da expressão exata com raiz quadrada para um triângulo equilátero.
Casos de uso
Criar um diagrama de mecânica orbital
Gere coordenadas consistentes de L4 e L5 a partir de uma distância conhecida antes de adicionar rótulos, marcas de escala ou uma rotação para o referencial visual desejado.
Verificar a configuração de uma simulação
Compare as coordenadas iniciais dos pontos triangulares com um resultado geométrico independente antes de introduzir massas, velocidades, perturbações ou integração numérica.
Ensinar a geometria equilátera de Lagrange
Mostre como uma separação determina os dois vértices simétricos e confirme que os três lados de cada triângulo formado pelos corpos e pelo ponto têm o mesmo comprimento.
Perguntas frequentes
Qual sistema de coordenadas a calculadora utiliza?
Ela posiciona o primário em (0, 0), o secundário em (separação, 0), L4 acima do eixo x e L5 abaixo dele.
Qual unidade devo usar para a separação?
Você pode usar qualquer unidade de comprimento consistente. As coordenadas x e y retornadas permanecem nessa mesma unidade.
Por que as massas não são necessárias?
Os vértices ideais L4 e L5 dependem da separação entre os corpos, não de suas massas. As massas afetam a estabilidade e a posição baricêntrica, que estão fora deste cálculo geométrico.
Isto calcula a trajetória de uma espaçonave?
Não. A ferramenta retorna somente posições geométricas ideais; não calcula velocidade, estabilidade, perturbações nem uma órbita ao longo do tempo.
Por que uma separação não positiva causa erro?
A separação deve ser maior que zero para definir duas extremidades distintas e um triângulo equilátero não degenerado.
Quanto custa uma solicitação à API?
Cada solicitação à API custa US$ 0,002; o mesmo cálculo determinístico também pode ser executado gratuitamente no navegador.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/astro/lagrange-l4-l5-geometry \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"separation":384400}'const res = await fetch("https://api.kit.forhosting.com/astro/lagrange-l4-l5-geometry", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"separation": 384400
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/lagrange-l4-l5-geometry",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"separation": 384400
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/lagrange-l4-l5-geometry", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"separation":384400}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"separation":384400}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/lagrange-l4-l5-geometry", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"separation": 384400
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.lagrange_l4_l5_geometry",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |