|
This project was created as part of learning:
|
An educational Java project that simulates planetary motion under Newtonian gravity. This project demonstrates:
|
nbody-local/ ├─ src/ │ └─ NBodyLocal.java ├─ data/ │ ├─ 1body.txt │ ├─ 3body.txt │ ├─ 3body-zero-gravity.txt │ ├─ 4body-zero-gravity.txt │ ├─ 8star-rotation.txt │ ├─ antimatter.txt │ ├─ armageddon.txt │ ├─ atom.txt │ ├─ awesome.txt │ ├─ binary.txt │ ├─ binaryStars.txt │ ├─ dance10.txt │ ├─ entropy-universe.txt │ ├─ galaxy.txt │ ├─ kaleidoscope.txt │ ├─ massive-squirrel-battle.txt │ ├─ planets.txt │ ├─ planets-elliptical.txt │ ├─ planets-zero-gravity.txt │ ├─ planetsparty.txt │ └─ pluto.txt ├─ assets/ │ ├─ images/ │ │ ├─ starfield.jpg │ │ └─ *.gif │ └─ audio/ │ └─ 2001.wav ├─ lib/ │ └─ stdlib.jar ├─ docs/ ├─ .gitignore └─ README.md |
|
Compile the project from the repository root:
javac -cp ".;lib/stdlib.jar" -d out src/NBodyLocal.java
---
## Run
Example:
```bash
java -cp "out;lib/stdlib.jar" NBodyLocal 157788000.0 25000.0 < data/planets.txtAnother example:
java -cp "out;lib/stdlib.jar" NBodyLocal 157788000.0 25000.0 < data/galaxy.txt- storing simulation data in arrays
- computing gravitational forces between bodies
- updating velocity and position over time
- rendering an animated 2D simulation
- using external assets such as images and audio
- Java
- StdDraw / StdIn (
stdlib.jar) - Java Sound API
Проект моделирует движение планет под действием гравитации по закону Ньютона.
Это учебная реализация N-body simulation, которая показывает:
- работу с массивами
- вычисление гравитационных сил
- анимацию движения объектов
- воспроизведение фоновой музыки
Проект создан в процессе изучения:
- массивов
- циклов
- работы с файлами
- базовой физики
- графики в Java
- моделирование движения планет
- анимация космической системы
- отображение планет через изображения
- фоновая музыка
- запуск разных сценариев из
.txtфайлов
Запускать из корня проекта:
javac -cp ".;lib/stdlib.jar" -d out src/NBodyLocal.javaПример:
java -cp "out;lib/stdlib.jar" NBodyLocal 157788000.0 25000.0 < data/planets.txtЕщё пример:
java -cp "out;lib/stdlib.jar" NBodyLocal 157788000.0 25000.0 < data/galaxy.txt- использование массивов для хранения данных
- вычисление силы гравитации между телами
- обновление скорости и координат
- анимацию движения объектов
- работу с внешними ресурсами: изображениями и звуком
Amanzhol
GitHub: `https://github.com/amanzhola