Новая классификация планет
В течение последнего месяца я работал над несколькими вещами одновременно. Вся эта работа ещё не закончена.
Кроме того, интеграция новых туманностей Duke по-прежнему требует большой работы, но она была отложена из-за вышеупомянутых задач.
Вероятно, наиболее интересной особенностью для вас является новая система классификации планет. Я сделал большой пост на форуме об этом. Новая классификация планет вводит такие основные классы:
терра (terra) - скалистая планета (объединённые старые классы терры, пустыни и селены)
аквария (aquaria) - водная/ледяная планета (объединённые старые классы океаниды, ледяные миры и титаны)
карбония (carbonia) - углеродная/карбидная/алмазная планета (новый класс, гипотетическая планета с преобладанием углерода)
феррия (ferria) - железная/металлическая планета (новый класс, гипотетический)
нептун (neptune) - ледяной гигант
юпитер (jupiter) - газовый гигант
хтония (chthonia) - ядро испарившегося гиганта или богатого гелием гиганта (не уверен в этом классе)
Эти основные классы могут быть дополнены префиксами мини-, суб- и супер-, для указания подкласса размера/массы: супертерра, субаквария. Они также дополняются несколькими словами, описывающими некоторые свойства планеты, такие как температура (горячий юпитер, теплая супертерра, холодная аквария), атмосферное давление, наличие океанов, жизни и т.д. Работа над этой системой ещё ведётся.
В теме на форуме я задал некоторые вопросы о форматировании текста на других языках. Поскольку в русском языке у прилагательных есть род, не так-то просто перевести «warm rocky terra» на русский, просто заменив слова их переводом. То же самое верно и для некоторых других языков, иногда даже порядок слов отличается от английского. Пришлось реализовать некий примитивный «грамматический процессор», который меняет род прилагательных в строке классификации в зависимости от рода определяющего существительного.
Новая классификация планет также потребовала изменений в генераторе звёзд. Необходимо генерировать и использовать соотношение углерод-кислород в звёздах, которое связано с металличностью звёзд, или параметром [Fe/H]. Отношение углерода к кислороду используется для генерации углеродных планет: предполагается, что звезды с величиной этого параметра, большей 0.8, должны давать популяцию планет с преобладанием углерода (значение для Солнца составляет 0.55). Параметр металличности сильно коррелирует с вероятностью появления горячих юпитеров, поэтому теперь его можно использовать для более реалистичной генерации планетных систем. Я обновил генератор звёзд, так что теперь он генерирует некоторое процедурное распределение этих величин среди разных звёздных населений (населения I и II типа). У некоторых каталожных звёзд в скрипте уже указан параметр FeH - я держал его на будущее, которое, наконец, наступило. Для других каталожных звёзд, не имеющих параметров FeH и CtoO (отношение углерода к кислороду) в скриптах, используется процедурная генерация, основанная на их местоположении в галактике, такая же, как для процедурных звёзд.
Ещё одно нововведение - изменение в браузере солнечной системы. Теперь он отображает двойные звёзды и планеты в более интересном виде: показывает оба компонента системы в одной и той же ячейке:
Кстати, на этих скриншотах можно увидеть новые классы планет. Они не окончательные, работа всё ещё ведётся.
Двойной газовый гигант выглядит довольно угрожающе в браузере:
Когда пользователь заходит на уровень спутников (по правому клику на ячейке), браузер отображает родительский барицентр в первой ячейке, затем два главных компонента, затем другие возможные общие спутники пары. Так что опция "показывать барицентры" больше не нужна.
Этот новый стиль отображения очень помогает в поиске двойных планет. Несколько минут изучения галактики показали, что двойные планеты встречаются слишком часто (даже двойные газовые гиганты!). Так что я значительно уменьшил вероятность появления этих объектов. Также я вынес эти вероятности в файл конфигурации, чтобы их можно было легко настраивать в будущем.
Относительные размеры объектов в превьюшках браузера не линейные, а логарифмические, как и раньше. Это позволяет видеть Землю рядом с Юпитером хоть в каких-то деталях, а не как маленькую точку размером 3 пикселя. Опция «Реальные размеры» все еще присутствует, вы можете получить доступ к настройкам браузера солнечной системы, нажав кнопку с шестерёнкой. Основание этого логарифма также вынесено в конфиг-файл, так что теперь вы можете настроить то, насколько «увеличенными» будут выглядеть малые планеты по сравнению с газовыми гигантами.
Браузер отображает две двойные планеты в нашей Солнечной системе - Земля-Луна и Плутон-Харон. Это связано с тем, что присутствие общего барицентра используется в качестве критерия для отображения структуры системы таким образом. Вероятно, система Земля-Луна должна быть исключена из этого списка, либо путём добавления специального ключа к скрипту, либо путём изменения поведения браузера таким образом, чтобы он брал за основу отношение масс компонентов пары, а не наличие барицентра.
Другая вещь, которую я планирую сделать, это переклассифицировать вторичный компонент двойной системы как планету, вместо луны. Для этого надо изменить именование процедурных объектов: если двойная система является третьей планетой от звезды, её главный компонент будет иметь имя «3a», а вторичный «3b». Внешние общие спутники будут иметь обычную нумерацию «3.1», «3.2» и т.д.
Также я работаю над новыми картами Плутона и Харона, основанными на недавно опубликованных NASA картах. Самое интересное - это DEM карты (цифровая модель высот), теперь можно создать 3D-ландшафт на Плутоне! Вот как он выглядит вблизи. Можно видеть, что карта немного шумная (потому что я обработал пока только jpeg версию), и она значительно смещена относительно цветовой текстуры. Надо скачать её в версии без потерь, найти карту альбедо из того же источника, обработать их (заполнить дыры, исправить разрывы) и преобразовать в формат SE. Я также экспериментирую с усиленным ледяным бликом, вы можете увидеть его в правой части скриншота. Он может быть полезен для отображения гладких ледяных поверхностей на некоторых холодных мирах с атмосферами (безвоздушные тела не могут иметь гладкие поверхности из-за эрозии, вызванной микрометеоритами и радиацией).
Обсудить этот пост можно на форуме.