ENG Новый сайт

Расширенный поиск
[ Новые сообщения · Пользователи · Правила ]
Классификация планет
SpaceEngineerДата: Четверг, 19.01.2012, 01:40 | Сообщение # 61
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
Quote (vertex)
По идее делать не так сложно: проверяем горы процедурного рельефа на высоту - если выше определенного значения, превращаем (с определенной вероятностью) в вулкан: система частиц, имитирующих дым и брызги лавы и петляющую полосу лавовой речки, по градиенту меняющей цвет от желтой (а бывает лава других цветов в космосе?) анимированной (тупо движущейся вниз по склону) текстуры лавы, до цвета поверхности планеты. Еще можно гейзеры с паром...

Нет, это сделать ой как не просто.
1) Нето такого понятия - "процедурная гора". Рельеф генерируется весь сразу, я не задаю руками где расположить гору. Чтобы найти вершину, придётся искать локальные максимумы в картах высот.
2) Даже если нашли вершину (или ладно, вулканы ручками задаём), сделать текущую из неё лаву - это моделирование гидродинамики. Играли в From Dust? А теперь представьте, что надо просчитать сразу сотню вулканов на планете.
3) Пусть вулканы статичные. "Просто текстуру натянуть анимированную лавы" тоже отнюдь не просто - надо рассчитать, где она должна быть, а где не должна, рассчитать поле векторов скорости лавы, т.е. опять гидродинамика. Вручную расставлять лавовые потоки никто не будет.

Quote (vertex)
но на скринах не заметил гор со снежными вершинами
Еще вроде бы нет береговых линий в виде полосок другого цвета небольшой ширины.

Плохо искал smile

Quote (vertex)
Ведь нет их столько на самом деле:

Этого никто не знает.

Quote (vertex)
И такой вопрос - сколько в среднем планет у каждой звезды? Например тут пишут, что по полторы штуки примерно. Соответствует ли таким значениям количество планет в SE?

В SE в среднем 10 планет на звезду. В их исследовании использовалась очень слабая статистика. Делать серьёзные оценки количества планет пока ещё рановато.


mythoДата: Четверг, 23.02.2012, 00:28 | Сообщение # 62
Исследователь
Группа: Команда SE
Украина
Сообщений: 262
Награды: 2
Статус: Offline
Quote (SpaceEngineer)
Обновлённая таблица классификации планет (версия 0.95)
а какие планеты из этого списка, теоретически, можно терраформировать?


AMD Phenom II X4 965, G.Skill F3-14900CL9-8GBSR (8Gb), Radeon HD 6970 (2Gb), Win7 x64.
SpaceEngineerДата: Четверг, 23.02.2012, 03:10 | Сообщение # 63
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
Quote (mytho)
а какие планеты из этого списка, теоретически, можно терраформировать?

Терры без жизни и пустыни с не очень плотной и горячей атмосферой (типа Марса).


mythoДата: Четверг, 23.02.2012, 16:08 | Сообщение # 64
Исследователь
Группа: Команда SE
Украина
Сообщений: 262
Награды: 2
Статус: Offline
Quote (SpaceEngineer)
Терры без жизни и пустыни с не очень плотной и горячей атмосферой (типа Марса).
а каких планет в движке больше - терр с жизнью или терр без жизни. Я имею в виду, что проще найти - готовую планету для заселения или планету подходящую к терраформированию?


AMD Phenom II X4 965, G.Skill F3-14900CL9-8GBSR (8Gb), Radeon HD 6970 (2Gb), Win7 x64.
SpaceEngineerДата: Четверг, 23.02.2012, 16:56 | Сообщение # 65
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
Вероятность жизни в системе с подходящими планетами - 30%. Надо наверное ещё уменьшить, а то очень часто попадается жизнь.

MibusДата: Четверг, 23.02.2012, 17:07 | Сообщение # 66
Первооткрыватель
Группа: Команда SE
Украина
Сообщений: 301
Награды: 0
Статус: Offline
Quote (mytho)
а каких планет в движке больше - терр с жизнью или терр без жизни.


Океанид и терр с жизнью гораздо меньше чем одних только комфортных терр без жизни. Но это с нынешними настройками генератора.


Win7 64 prof, Athlon II x2 256 3.3Mhz, RAM 4GB, GeForce GTS 250 512MB
SpaceEngineerДата: Четверг, 23.02.2012, 17:16 | Сообщение # 67
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
http://en.spaceengine.org/forum/10-474-1 - пункт первый, описаны условия появления планеты с жизнью в SE. Надо бы перевести весь пост и тут опубликовать...

ffpДата: Четверг, 23.02.2012, 18:09 | Сообщение # 68
Космический пилот
Группа: Пользователи
Российская Федерация
Сообщений: 135
Награды: 0
Статус: Offline
Может ввести подтип планет с жизнью - планета с разумной жизнью? И сделать вероятность появления такой планеты как 10% от числа планет с жизнью. Чтобы возраст звезды был не менее 3 млрд. лет.

Лет эдак через десять, когда SE станет успешным и известным проектом, я буду считаться бородатым олдфагом.
mythoДата: Четверг, 23.02.2012, 23:25 | Сообщение # 69
Исследователь
Группа: Команда SE
Украина
Сообщений: 262
Награды: 2
Статус: Offline
Quote (SpaceEngineer)
http://en.spaceengine.org/forum/10-474-1 - пункт первый, описаны условия появления планеты с жизнью в SE. Надо бы перевести весь пост и тут опубликовать...
- http://spaceengine.org/forum/25-140-1 - я было спросил, а потом подумал, лучше сделаю, хуже не станет. Посмотрите пожалуйста на предмет терминологии и вообще - оставлять, нет.
К стати спасибо - статья исчерпывающая!


AMD Phenom II X4 965, G.Skill F3-14900CL9-8GBSR (8Gb), Radeon HD 6970 (2Gb), Win7 x64.
SpaceEngineerДата: Четверг, 23.02.2012, 23:30 | Сообщение # 70
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
ооо, спасибо, я сейчас просто подкорректирую ошибки.
PS: подкорректировал.


mythoДата: Пятница, 24.02.2012, 00:14 | Сообщение # 71
Исследователь
Группа: Команда SE
Украина
Сообщений: 262
Награды: 2
Статус: Offline
Спасибо! Очень хочется чего то сделать)))

AMD Phenom II X4 965, G.Skill F3-14900CL9-8GBSR (8Gb), Radeon HD 6970 (2Gb), Win7 x64.
MinxДата: Четверг, 15.03.2012, 18:40 | Сообщение # 72
Нет аватара
Наблюдатель
Группа: Пользователи
Пират
Сообщений: 10
Награды: 0
Статус: Offline
Спуск и попытка приземления на Сатурн: http://science.compulenta.ru/612064/

Может пригодится для реалистичного представления.

Добавлено (15.03.2012, 18:40)
---------------------------------------------

Quote (SpaceEngineer)
Во всех этих системах используется какой-то феноменологический подход с очень маленькой вариативностью. Например, состав атмосферы разбит на 20 предопределённых моделей, и выбирается одна из них. Давление тоже заранее задано табличкой. Радиусы планет, орбит, температуры звёзд - всё задано табличками и выбор происходит рандомно, хотя некоторые параметры влияют друг на друга. Я же с самого начала подходил к задаче генерации планет физически. Давление атмосферы вычисляется из массы и радиуса планеты, радиус вычисляется из массы и химсостава планеты, химсостав вычисляется из радиуса орбиты и светимости звезды т.д. У меня как бы более научный подход, всё непрерывно, а не дискретно, как в этих моделях.

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

Проблема в том, что обычный ПК не потянет такой объём вычислений.


Проблема в том, что это не проблема вычислений, это проблема ресурсов разработчиков.

Для решения делается следующее. Собирается "правильный генератор", и генерирует таким образом много планет (с равномерным распределением параметров, методом монте-карло, или ещё как - не важно). Главное на выходе получить репрезентативную выборку из достаточно большого множества планет.

Каждая выходная планета описывается множеством параметров, скажем, имеем множество планет A, каждая из которых имеет набор параметров P. На основании данных этих параметров (A * P) уже строятся будущие реальные планеты.

Как построить.
Самое простое - выбрать одну из планет списка A.
Более сложное - аппроксимировать каждую новую планету по параметрам A*P (например ищем две похожие A1 и A2 из A и выбираем что-то среднее, на p1=rand() ближе к A1 и на (1-p) ближе к A2 ) .
И ещё более сложное - собрать систему на основе Machine Learning, обучить её на множестве (A*P), и превратить её в генератор (такой генератор может кстати, быть на порядок более быстрым и использующим меньше памяти, чем вариант с аппроксимацией)


H+: play yourpart in human history!
SpaceEngineerДата: Четверг, 15.03.2012, 21:21 | Сообщение # 73
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
Предлагаете сгенерировать N-мерную сетку моделей и делать рандомную выборку из неё? Боюсь сетка получится огромной, т.к. параметров (N) - десятки.

MinxДата: Четверг, 22.03.2012, 16:41 | Сообщение # 74
Нет аватара
Наблюдатель
Группа: Пользователи
Пират
Сообщений: 10
Награды: 0
Статус: Offline
Основная идея состоит в отделении долгоработающего "правильного" генератора от самой процедурной генерации.

Т.е. сначала правильный генератор создает множество правильных планет (или звездных систем). А уже исходя из сгенерированных множеств строятся звездные системы в реальном времени.

Изображения в помощь:


Например мы сгенерировали три звездные системы (A, B, C), в каждой из которых есть несколько планет (см. рисунок 1).
Результатом генерации для каждой из планет является 2 величины - масса планеты и расстояние до центра звездной системы.

Способ первый. Мы создаем большое количество таких систем, и в дальнейшем выбираем одну из них согласно сида (одну из A, B, C).

Способ второй. Аппроксимация. Допустим, согласно сиду мы определяем две системы (например B и C), и степень похожести новой системы на каждую из них (например похожа на B на 80%, а на C на 20%).
Далее при генерации собираем планеты таким образом, что они на 80% ближе к B и на 20% ближе к C. Результат - D.

Способ третий. С помощью машинного обучения.
Создаем систему B (или множество систем B-класса). На основании её данных вычисляем функцию, по которой мы можем очень близко нарисовать планеты. Здесь это MB( R ).
Зная такую функцию, мы можем генерировать множество систем, задавая различные расстояния и число планет.

Не исключена и комбинация двух подходов. Например создать две функции MB( R ) и MC( R ) и на основании их проводить аппроксимацию.

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

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


H+: play yourpart in human history!

Сообщение отредактировал Minx - Четверг, 22.03.2012, 16:45
SpaceEngineerДата: Пятница, 23.03.2012, 13:22 | Сообщение # 75
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
Quote (Minx)
P.S. Со временем, когда Кеплеры найдут много планет с их более точными характеристиками, то вместо правильного генератора можно подставить реальные данные о известных системах.

Кеплер не способен найти планеты с периодом больше 3 лет, поэтому его данные будут заведомо не полные. Фактически кроме Солнечной системы мы не знаем ни одной полной системы, видим только близкие к звезде массивные и крупные планеты, мелочь и далёкие планеты не обнаружимы современными методами.

С сеткой моделей не совсем понятно, как определять "похожесть" систем. Скорее всего все системы очень не похожи, судя по результатам численного моделирования.

В принципе я думаю полуаналитическая генерация как в Srtargen будет в самый раз - производительности хватает, Srtargen за секунду генерирует десятки систем.


Поиск:

>