Final exam version
This commit is contained in:
49
README.md
Normal file
49
README.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# Solar System — Ticket 3
|
||||
|
||||
Программа моделирует солнечную систему по билету №3.
|
||||
|
||||
## Реализовано
|
||||
|
||||
- 2 звезды.
|
||||
- У первой звезды 11 планет.
|
||||
- У второй звезды 12 планет.
|
||||
- У первой звезды по 1 планете на каждой орбите.
|
||||
- У второй звезды по 2 планеты на каждой орбите.
|
||||
- Чётные орбиты вращаются против часовой стрелки.
|
||||
- Нечётные орбиты вращаются по часовой стрелке.
|
||||
- Каждая орбита пересекается хотя бы с одной орбитой другой звезды.
|
||||
- Планеты не пересекаются на экране.
|
||||
- Орбиты можно включать и выключать.
|
||||
- Состояние можно сохранить в `solar_state.txt`.
|
||||
|
||||
## Управление
|
||||
|
||||
- `SPACE` — пауза.
|
||||
- `O` — включить/выключить орбиты.
|
||||
- `S` — сохранить состояние.
|
||||
- `ESC` — выход.
|
||||
|
||||
## Сборка Linux
|
||||
|
||||
```bash
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate
|
||||
pip install pygame pyinstaller
|
||||
pyinstaller --onefile --windowed --name SolarSystem main.py
|
||||
cp dist/SolarSystem .
|
||||
chmod +x SolarSystem
|
||||
```
|
||||
|
||||
|
||||
## Исправление орбит
|
||||
|
||||
В этой версии планеты не отталкиваются и не влияют друг на друга. Движение строго орбитальное: угол меняется на angular_speed * direction, после чего координаты пересчитываются по окружности. Расстояние между звездами подобрано так, чтобы каждая орбита имела пересечение хотя бы с одной орбитой другой звезды, но орбиты не проходят через центры звезд.
|
||||
|
||||
|
||||
В этой версии планеты не взаимодействуют друг с другом и не меняют траектории: движение идёт строго по орбитам. Начальные углы и размер планет подобраны так, чтобы планеты визуально не пересекались при демонстрации.
|
||||
|
||||
|
||||
Дополнение: скорость движения увеличена; ближние планеты вращаются быстрее дальних. Начальные углы разведены, планеты не стартуют из одной точки и не влияют друг на друга.
|
||||
|
||||
|
||||
Обновление: начальные углы планет подобраны заранее, чтобы при запуске планеты не пересекались. Планеты двигаются только по своим орбитам и не влияют друг на друга.
|
||||
Reference in New Issue
Block a user