Rastreador 3D de satélites no navegador, baseado em mecânica orbital real e voltado a estudantes, educadores e equipes de operações espaciais.
qunabu/Gravity
Um simulador interativo do sistema solar em TypeScript e Three.js que mostra como a gravidade molda as órbitas, com um tour guiado e dados astronômicos reais.
- Estrelas
- 220
- Forks
- 17
- Issues abertas
- 0
- Último commit
- há 29 dias
O que é?
Gravity é um simulador do sistema solar que roda no navegador, desenvolvido com TypeScript, Three.js e Vite. Ele usa dados astronômicos reais para tamanhos, massas e elementos orbitais J2000.0, fazendo com que os planetas, Plutão e as principais luas sigam suas órbitas reais. Apenas a renderização é redimensionada, e uma opção permite alternar entre a escala real e uma escala visual que mantém o Sol e o pequeno Mercúrio visíveis ao mesmo tempo.
O projeto começa com um tour guiado de 43 etapas que explica por que as órbitas existem, partindo das leis de Newton e passando pelo sistema Terra-Lua, pelos pontos de Lagrange, pelas marés e pela relatividade geral. Cada etapa tem um link direto, e o texto pode ser alternado entre inglês e polonês. Depois do tour, o modo de exploração livre permite interagir diretamente com a simulação.
É possível alternar entre dois modelos físicos: um modelo kepleriano analítico e um modelo N-body que integra a gravidade newtoniana entre todos os pares usando um integrador leapfrog e exibe a variação de energia em tempo real. As texturas são geradas proceduralmente em um canvas, então o app funciona offline, sem arquivos de imagem.
Recursos principais
- 01Tamanhos, massas e elementos orbitais J2000 reais do Sol, dos planetas, de Plutão e das principais luas.
- 02Alternância entre a escala real e uma escala visual que mantém os corpos menores visíveis.
- 03Alternância entre órbitas keplerianas analíticas e uma simulação de gravidade N-body em tempo real.
- 04Tour guiado de 43 etapas com links diretos e texto em inglês e polonês.
- 05Texturas de planetas e luas geradas proceduralmente, que funcionam offline.
Casos de uso
- Ensinar mecânica orbital e as leis de Newton a estudantes.
- Explorar visualmente o funcionamento dos pontos de Lagrange, das marés e da ressonância orbital.
- Usar a base de código em TypeScript e Three.js como referência para uma visualização científica em 3D.
Início rápido
- 1
Instale as dependências
npm install - 2
Inicie o servidor de desenvolvimento em localhost:5173
npm run dev
Antes de usar
- Os valores do nó orbital, do argumento e da fase da Lua são aproximados; apenas o semieixo maior, a excentricidade, a inclinação e o período são reais.
- A escala visual usa um remapeamento não linear, então, nesse modo, as elipses orbitais são apenas aproximadamente elípticas.
- O modo N-body com as luas ativadas precisa de um passo de tempo menor e pode perder precisão com multiplicadores de tempo muito altos.
Tópicos
Perguntas frequentes
- O que é Gravity?
- Um simulador interativo do sistema solar em TypeScript e Three.js que mostra como a gravidade molda as órbitas, com um tour guiado e dados astronômicos reais. Gravity é um simulador do sistema solar que roda no navegador, desenvolvido com TypeScript, Three.js e Vite. Ele usa dados astronômicos reais para tamanhos, massas e elementos orbitais J2000.0, fazendo com que os planetas, Plutão e as principais luas sigam suas órbitas reais. Apenas a renderização é redimensionada, e uma opção permite alternar entre a escala real e uma escala visual que mantém o Sol e o pequeno Mercúrio visíveis ao mesmo tempo.
- Gravity é gratuito? Qual é a licença?
- Gravity é open source sob a licença GPL-3.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- Gravity ainda é mantido?
- Manutenção ativa. O último commit de Gravity foi em 21 de set. de 2026.
- Para que posso usar Gravity?
- Ensinar mecânica orbital e as leis de Newton a estudantes. Explorar visualmente o funcionamento dos pontos de Lagrange, das marés e da ressonância orbital. Usar a base de código em TypeScript e Three.js como referência para uma visualização científica em 3D.
- Como instalar Gravity?
- Instale as dependências: npm install Inicie o servidor de desenvolvimento em localhost:5173: npm run dev
- Onde consigo Gravity?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/qunabu/Gravity
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um app web interativo que funciona offline e recria no navegador o céu noturno local para qualquer lugar e horário.
Um mecanismo declarativo que gera e renderiza infográficos em SVG a partir de uma sintaxe textual, pensado para geração com IA e saída em streaming.
Um renderizador leve e síncrono que converte texto de diagramas Mermaid em SVG, sem dependências em tempo de execução.
Um mecanismo de física de uso geral para simular corpos articulados em contato com rapidez e precisão, amplamente usado em robótica e pesquisa em machine learning.
Biblioteca C++ de física de corpos rígidos e detecção de colisões, compatível com múltiplos núcleos, para jogos e aplicações de VR.