Небесная машинерия
 
27.04.2004
Павел Протасов

Если встать из-за компьютера, выйти из душной комнаты на улицу и пройти, дыша свежим холодным воздухом, до ближайшего открытого пространства, которого так мало в современных городах, то можно увидеть небо. А если уже стемнело, то небо будет звездным, как раз таким, каким его видел восхищенный нравственным законом внутри нас Иммануил Кант. И кто знает, может быть, настанет ваша очередь чем-нибудь восхищаться. Писать стихи, сочинять музыку, дарить цветы незнакомым девушкам, переводить старушек через дорогу…

Не читайте эту статью. Вставайте. Идите.
Но журнал все же захватите с собой. Иначе заблудитесь в небе и в душную комнату уже не вернетесь.

WinStars 1.0
www.winstars.net

1«Виртуальные планетарии» прямо-таки созданы для того, чтобы их запрограммировать. Движение планет подчинено ограниченному набору формул, звезды не движутся вообще, кометы с туманностями тоже довольно легко загнать в прокрустово ложе математики. Пиши не хочу. Гармония, настолько проверенная алгеброй, кроме звездного неба, встречается разве что в изображениях фракталов (правда, достойных фрактальных генераторов, кроме овеянного славой Fractint, я, признаться, не встречал).

Начнем мы с типичного во всех отношениях представителя виртуальных планетариев. Все функции WinStars (рис. 1) есть и в других подобных программах. Полный джентльменский набор настроек: названия звезд по-латыни и по-английски, траектории звезд, комет и прочего, включение/выключение горизонта. Кнопки, использующиеся чаще всего, вынесены на верстак в левой части окна программы. В правой — функции управления прокруткой неба с возможностью задавать скорость вращения (кнопка с громким названием «Animation»). Можно изменять точку, из которой происходит наблюдение, и время. Есть основные сведения о планетах Солнечной системы и поиск небесных тел с показом информации о них. Все как у людей, короче говоря.

Однако при взгляде на окно программы трудно отделаться от мысли о ее какой-то… неестественности, что ли. Игрушечности. Безликости. Небо нарисовано схематично, мелкие звезды возникают только по мере увеличения масштаба, планеты выглядят точками — вот он, пример упрощенного подхода к программированию музыки сфер.

И тут, когда уже я совсем разочаровался в WinStars, на правом верстаке наткнулся на кнопку с изображением фотоаппарата. Всплывающая подсказка глаголила что-то про DSS server. Что это за сервер такой, я не знал и полез в хелп. Оказывается, это не что иное, как хранилище картинок высокого разрешения, снятых через телескоп, с возможностью автоматического поиска. Наводим фокус на нужный объект, увеличиваем масштаб до размера «один на один градус», давим кнопку, программа лезет в Сеть — и на месте «игрушечной» галактики, кометы или туманности возникает вполне живая (изображение будет открыто в программе, которая связана по умолчанию с gif-файлами).

Вот так иногда бывает: посредственная во всех отношениях программа с одной-единственной изюминкой, причем уникальной, в других ничего подобного нет. Не знаю, долго ли автор WinStars Фрэнк Ричард смотрел в безоблачное звездное небо, но то, что все гениальное — просто, он, наверное, понимает.

Adastra Freestar
www.skynow.com/coeli/adastra.htm

2Adastra Freestar (рис. 2) выделяется, главным образом, несчетным количеством окон, которые открывает при старте. Впрочем, при выходе она запоминает настройки автоматически, так что окна закрывать придется только один раз. Есть еще и полноэкранный режим просмотра, когда невозможно активизировать даже панель задач. Можно выбрать определенный объект и, сохраняя его неподвижным, имитировать движение остальных небесных тел. Но, увы, звезды с планетами все равно выглядят точками.

Очень много у программы настроек просмотра: можно представлять небо в пяти различных проекциях; смотреть (нажав одну лишь экранную кнопку) в четыре стороны света и зенит, а также на горизонт; выбирать место, откуда ведется наблюдение за небом (опять же, нажатием одной кнопки), на карте мира, которая выводится в специальном окошке. Правда, для активизации большинства из них придется лезть в меню и продираться не через один уровень.

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

Подменю ABC содержит основные сведения из области астрономии. Причем первые три буквы алфавита как раз объему этих сведений и пропорциональны: при попытке уйти с первого экрана хелпа по ссылке вам намекнут, что не худо бы скачать shareware-программы Stella 20001 или Adastra Plus. И ничего, естественно, не расскажут.

Также программа может работать с виртуальной сущностью по имени Genie. Технологию Microsoft Agent все помнят? Для тех, кто не помнит: это что-то вроде «помощников» в MS Office, только поназойливее и ресурсов ест побольше. В комплект Genie не входит, и его нужно скачивать отдельно (на самом деле — не нужно).

Stellarium 0.5.0
www.stellarium.free.fr

3Неужели в двадцать первом веке, когда, так сказать, космические корабли бороздят просторы, можно сделать программу, которая настраивается с помощью текстового конфига?! «Можно», — говорят юниксоиды. Юниксоид сказал — юниксоид сделал.

Действительно, Stellarium (рис. 3) настраивается конфигурационным файлом. Причем при запуске из окна он зачем-то меняет частоту экрана герц эдак до 60. Потом, правда, возвращает ее в исходное состояние. Кнопки маленькие и не настраиваются даже через конфиг. В оконный режим это чудо не переводится, хотя опция такая есть (подозреваю, что корректно она работает только под X-Window).

Небо, правда, крутит. Но настройки, сделанные экранными кнопками в интерактивном режиме, при этом не запоминает — признает только любимый конфиг. И даже под Mac OS, судя по информации из прилагаемых файлов, собираться должно из исходников. Избави вас господь, короче говоря, от такого чуда.
Вот так они, юниксоиды эти, даже в облаках повитать не дадут нормально.

Celestia 1.3.0
www.shatters.net/celestia

4По визуальным эффектам эта программа (рис. 4), пожалуй, лучшая в обзоре. Можно учить детей астрономии: все наглядно и легко в управлении, космические полеты выглядят как в компьютерной игре. Однако за красочность визуализации приходится платить наличием в компьютере OpenGL-совместимой видеокарты, которая, впрочем, ставится в большинство современных машин.

Программа посвящена в основном Солнечной системе: в меню есть даже специальный Solar System Browser, этакая папка «Избранное», куда занесены все планеты, их естественные и некоторые искусственные спутники. По сходной системе организован и Star Browser — то же самое, но для звезд.

Есть и Tour Guide, список покороче, в который входят самые интересные, на взгляд авторов программы, планеты, звезды и астероиды. Можно, например, посмотреть со стороны на Плутон с Хароном, астероиды Эрос, Иду с Дактилем и другие объекты, почитав при этом их краткое описание. Принцип навигации довольно прост: выбираем в списке объект, давим на кнопку Go To — и все, извозчик сам куда надо довезет и поставит на расстоянии n световых лет от планеты. Если n мало и лучше m — крутим колесико мышки.

Можно подключать к Celestia дополнительные текстуры небесных тел и сами тела. Можно замедлять и убыстрять время, можно смотреть на объекты в их реальном положении. Можно рассчитывать положения объектов в произвольные моменты времени. Все можно.

Правда, делать это придется методом тыка: справки у Celestia нема, лететь будем как в том анекдоте, по пачке «Беломора». Впрочем, существующей шпаргалки по клавишам вполне достаточно, чтобы разобраться в программе.

Довольно интересный режим — Follow. В нем наблюдатель движется вслед за выбранным объектом (режим активизируется при выборе соответствующего пункта из контекстного меню небесного тела). Особенно впечатляюще выглядит полет вокруг Земли вслед за телескопом «Хаббл» (в правой части рис. 4 — это он и есть) или МКС, со временем, убыстренным раз в десять. В том же контекстном меню для любой планеты есть и полный список спутников.

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

Распространяется Celestia по лицензии GNU GPL, так что на ее примере можно учить «свободных» программистов писать дружественные пользователю программы.

Distant Suns 4
www.distantsuns.com

5Distant Suns (рис. 5) — это, если можно так выразиться, Celestia в молодости. Роднит их и режим показа поверхности планет с рендерингом, и акцент на Солнечную систему.

Программа бесплатна, однако некоторые функции (такие как создание видеороликов) не работают без диска, предлагаемого по заказу и за денежку. Существует и пятая версия, которая как раз и рассчитана на работу с содержимым этого диска, и на нем же распространяется.

Удобно построена навигация: основное передвижение и выбор объектов осуществляется с помощью окошка-«навигатора», в котором есть три режима просмотра: вид как бы из центра Земли, из космоса и опять же с Земли, но с произвольно выбранной точки, именуемой в терминологии программы Home.

К навигатору прилагается панелька с кнопками планет, которые можно посмотреть во всей красе, с оптимального расстояния, либо поместить в центр окна, либо — переместиться на любую из них и наблюдать оттуда всю остальную Солнечную систему. Обрабатываются, естественно, и спутники.

Правда, горизонт при виде с Земли отключить не получится, и при нажатии на кнопку с именем планеты, находящейся ниже его уровня, придется созерцать серый фон. Зато ворочать планеты мышкой, удерживая правую кнопку, — сплошное удовольствие. Чувствуешь себя как минимум Иеговой…

Имеется в Distant Suns и функция показа состояния планет в текущем режиме просмотра: видимые отмечаются звездочкой, а находящиеся ниже горизонта — не отмечаются. Можно посмотреть, в какую точку пространства-времени нас занесло, и поменять эту точку на произвольную — одним пунктом меню и в одном окошке. Кроме того, можно включать показ границ созвездий и орбит планет — куда ж без этого? А о значительных событиях (затмениях или приближении кометы) программа предупредит загодя. Правда, иногда Distant Suns вылетала, жалуясь на некорректную операцию с плавающей запятой.

Хелп по совместительству играет роль еще и краткого описания планет, звезд и туманностей, с экскурсами в историю и мифологию. В общем, Distant Suns, как и Celestia, вырывается из «модельного ряда» безликих, математически точных планетариев.

А кроме самой программы с ее сайта можно скачать и довольно-таки симпатичный скринсейвер (www.distantsuns.com/about_screensaver.html), который будет летать и глазеть на планеты сам. Так что если в одну прекрасную безоблачную ночь ваш компьютер встанет, выйдет из душной комнаты и пойдет на улицу, вы будете знать, кто в этом виноват.

И еще: чтобы не искать открытое пространство в городах, какие-то безнадежные лирики придумали плоскую крышу. (А вы думали — для чего? Чтобы локалку по дому тянуть, что ли?)


1 Шароварная инкарнация Adastra — Stella 2000 — отличается от младшей сестры главным образом подключаемыми серверами с данными небесных тел и некоторыми дополнительными настройками.
 


<<Жестокие испытания
Все материалы номера
Телекоммуникации: кубики для бизнеса >>