Files
examnow/README.md
2026-06-26 10:40:09 +03:00

50 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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, после чего координаты пересчитываются по окружности. Расстояние между звездами подобрано так, чтобы каждая орбита имела пересечение хотя бы с одной орбитой другой звезды, но орбиты не проходят через центры звезд.
В этой версии планеты не взаимодействуют друг с другом и не меняют траектории: движение идёт строго по орбитам. Начальные углы и размер планет подобраны так, чтобы планеты визуально не пересекались при демонстрации.
Дополнение: скорость движения увеличена; ближние планеты вращаются быстрее дальних. Начальные углы разведены, планеты не стартуют из одной точки и не влияют друг на друга.
Обновление: начальные углы планет подобраны заранее, чтобы при запуске планеты не пересекались. Планеты двигаются только по своим орбитам и не влияют друг на друга.