Браузерный 3D-трекер спутников, использующий реальные модели орбитальной механики и предназначенный для студентов, преподавателей и специалистов по космическим операциям.
qunabu/Gravity
Интерактивный симулятор Солнечной системы на TypeScript и Three.js показывает, как гравитация формирует орбиты, и предлагает экскурсию с реальными астрономическими данными.
- Звёзды
- 220
- Форки
- 17
- Открытые issues
- 0
- Последний коммит
- 29 дней назад
Что это?
Gravity — браузерный симулятор Солнечной системы на TypeScript, Three.js и Vite. В нём используются реальные астрономические данные о размерах и массах небесных тел, а также их орбитальные элементы на эпоху J2000.0, поэтому планеты, Плутон и крупнейшие спутники движутся по настоящим орбитам. Масштабируется только визуализация: переключатель позволяет выбрать истинный масштаб или наглядный, при котором Солнце и крошечный Меркурий видны одновременно.
При запуске проекта начинается экскурсия из 43 шагов: она объясняет, почему существуют орбиты, начиная с законов Ньютона и переходя к системе Земля—Луна, точкам Лагранжа, приливам и общей теории относительности. Для каждого шага есть прямая ссылка, а язык текста можно переключать между английским и польским. После экскурсии можно перейти в режим свободного исследования и работать с симуляцией самостоятельно.
Можно переключаться между двумя физическими моделями: аналитической кеплеровской моделью и N-body-моделью, которая рассчитывает ньютоновскую гравитацию между всеми парами тел с помощью интегратора leapfrog и отображает текущее изменение энергии. Текстуры создаются процедурно на canvas, поэтому приложение работает офлайн и не требует файлов изображений.
Ключевые возможности
- 01Реальные размеры и массы небесных тел, а также орбитальные элементы на эпоху J2000 для Солнца, планет, Плутона и крупнейших спутников.
- 02Переключение между истинным и наглядным масштабом, при котором небольшие небесные тела остаются видимыми.
- 03Переключение между аналитическими кеплеровскими орбитами и симуляцией гравитации N-body в реальном времени.
- 04Экскурсия из 43 шагов с прямыми ссылками и текстом на английском и польском языках.
- 05Процедурно созданные текстуры планет и спутников, работающие офлайн.
Сценарии использования
- Обучение студентов небесной механике и законам Ньютона.
- Наглядное изучение точек Лагранжа, приливов и орбитального резонанса.
- Использование кодовой базы на TypeScript и Three.js как примера 3D-визуализации научных данных.
Быстрый старт
- 1
Установите зависимости
npm install - 2
Запустите сервер разработки на localhost:5173
npm run dev
Что важно знать
- Значения орбитального узла Луны, аргумента и фазы являются приблизительными; реальными являются только большая полуось, эксцентриситет, наклонение и период.
- Для визуального масштаба используется нелинейное преобразование, поэтому в этом режиме орбиты лишь приблизительно имеют форму эллипсов.
- Для режима N-body с включёнными спутниками нужен более мелкий временной шаг, а при очень высоких множителях времени точность может снижаться.
Темы
Частые вопросы
- Что такое Gravity?
- Интерактивный симулятор Солнечной системы на TypeScript и Three.js показывает, как гравитация формирует орбиты, и предлагает экскурсию с реальными астрономическими данными. Gravity — браузерный симулятор Солнечной системы на TypeScript, Three.js и Vite. В нём используются реальные астрономические данные о размерах и массах небесных тел, а также их орбитальные элементы на эпоху J2000.0, поэтому планеты, Плутон и крупнейшие спутники движутся по настоящим орбитам. Масштабируется только визуализация: переключатель позволяет выбрать истинный масштаб или наглядный, при котором Солнце и крошечный Меркурий видны одновременно.
- Gravity можно использовать бесплатно? Какая у него лицензия?
- Gravity распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- Gravity всё ещё поддерживается?
- Активно поддерживается. Последний коммит в Gravity — 21 сент. 2026 г..
- Для чего можно использовать Gravity?
- Обучение студентов небесной механике и законам Ньютона. Наглядное изучение точек Лагранжа, приливов и орбитального резонанса. Использование кодовой базы на TypeScript и Three.js как примера 3D-визуализации научных данных.
- Как установить Gravity?
- Установите зависимости: npm install Запустите сервер разработки на localhost:5173: npm run dev
- Где скачать Gravity?
- Исходный код и инструкции по установке — на GitHub: https://github.com/qunabu/Gravity
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Интерактивное веб-приложение, которое работает офлайн и показывает местное ночное небо для любого места и времени прямо в браузере.
Декларативный движок для генерации и отображения SVG-инфографики из текстового синтаксиса, рассчитанный на создание с помощью ИИ и потоковый вывод.
Небольшой синхронный рендерер, преобразующий текст диаграмм Mermaid в SVG без runtime-зависимостей.
Универсальный физический движок для быстрой и точной симуляции контактирующих сочленённых тел, широко используемый в робототехнике и исследованиях машинного обучения.
Многопоточная библиотека на C++ для симуляции твёрдых тел и обнаружения столкновений в играх и VR-приложениях.