воскресенье, 23 октября 2011 г.

Реалистичное изображение солнечной системы и полетов

Маленькая проблема при попытке реалистичного изображения солнечной системы - несопоставимый масштаб объектов. Планеты настолько меньше солнца и расстояний между ними, что при изображении в реальном масштабе вы просто ничего не видите.

 

Тут очень доходчиво описана суть проблемы.

В результате экспериментов с различными вариантами отображения реальных размеров (есть такая полезная штука как логарифмический масштаб) принято волевое решение - начхать. Расстояние измеряем в попугаях. Размещаем исключительно с точки зрения чтоб луны одной планеты не сталкивались с лунами другой. И был некоторый зазор. Эксцентриситет и пр. - можно сделать, но опять же имея ввиду что зазор должен быть взят по максимуму и обеспечивать отсутствие коллизий.

 

Компромисный вариант - использовать реальные размеры для вычисления длительностей полета и пр, а для отображения использовать попугаев признан слабоосмысленным. Потому что моделировать полеты приближенно к реальности тоже не выйдет. Это ой как не просто и в игре бесполезно. Потому как чистая математика, которую не каждый в силах осмыслить. Ну и зачем делать точное моделирование, которого никто не увидит и не оценит?

 

Основные перемещения в игре - между объектами (параметры орбит для того чтобы отдать команду фиолетовы) и зарезервированными орбитами. Все что нужно пользователю в последнем случае - задать номер орбиты (реальные параметры - по барабану). Что имеет достаточно разумное объяснение - кораблей много и подобно тому как сейчас самолетам выделяют определенные коридоры полета, взлета и посадки, точно также ЦУП Космическими полетами должен задавать что-то подобное для кораблей. Идея выделить стандартные орбиты (подобно стандартным частотам) - не такая уж плохая.

 

Единственное исключение - стационарные космические объекты. Платформы, станции, спутники и т.п. Для них можно задать параметры близкие к реальности (хоть и в попугаях). Коллизии отслеживать, столкнувшиеся объекты уничтожать (дробить на поля обломков).

 

Траектории полетов - сглаживать. Но исключительно в целях красоты. Полет к объекту - сначала выход на его орбиту, потом догоняем по орбите. К реальности конечно это относится слабо, но зато будет выглядеть реалистично (по крайней мере гладко). Если объект не имеет орбиты (корабль в полете, или какой-нибудь артефакт пролетающий через систему), то траектория как у самонаводящейся ракеты. Солнце, планеты и прочее нужно огибать. Коллизий избегать, но если вдруг - такова селя ви. Ошибка диспетчера/пилота, трагическая катастрофа, расследование причин и соболезнования.

Комментариев нет:

Отправить комментарий