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