Природное самоподобие

Автор: Юрий Ильин. Мир 3D

В порядке вступления

Объяснить принцип действия фрактальных генераторов "на пальцах" поначалу кажется крайне простой задачей. Но дьявол прячется в деталях: когда перед автором этих строк оказалось двадцать раскрытых вкладок в браузере со статьями в диапазоне тем от кривой Пеано и шума Перлина до описания принципов процедурного текстурирования на уровне формул, стало ясно, что дело пахнет керосином. Или взрывчаткой - для мозга...

Шутки в сторону: приходится констатировать, что фрактальные генераторы ландшафтов — суть сплошная крупнокалиберная математика. Это алгоритмы, которые позволяют создать иллюзию "природной" случайности и, используя массив из правильных геометрических фигур, получить нецикличную, нерегулярную структуру, действительно сильно напоминающую творения матери-природы.

Теория

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

Прекрасной иллюстрацией может быть кривая Коха (так же называемая "снежинкой Коха"), нигде не дифференцируемая, но везде непрерывная кривая, каждый отрезок которой находится под углом 60° или 120° к соседнему.

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

Само слово "фрактал" является производным от латинского fractus - "сломанный, разбитый". Впервые данное определение было применено в 1975 году французским математиком Бенуа Мандельбротом, который в 1977 году выпустил книгу "Фрактальная геометрия природы". Собственно, он и поныне считается ведущим исследователем в области фрактальной геометрии. Другое дело, что статуса математического термина слово "фрактал" так и не добилось, поскольку на сегодняшний день оно остаётся достаточно размытым. Его употребляют, когда рассматриваемая фигура обладает какими-либо из следующих свойств:

1. Обладает нетривиальной структурой на всех шкалах, так что увеличение масштаба не приводит к её упрощению, как это обычно происходит с регулярными фигурами (где фрагмент, рассматриваемый в очень крупном масштабе, будет напоминать фрагмент прямой).

2. Проявляет признаки самоподобия - полного или приближенного.

3. Обладает дробной метрической размерностью или метрической размерностью, превосходящей топологическую.

4. Может быть построена при помощи рекурсивной процедуры (рекурсия — частичное определение объекта через себя, определение объекта с использованием ранее определённых. Рекурсия используется, когда можно выделить самоподобие задачи).

В природе фракталообразные структуры встречаются повсеместно, иногда в устрашающе "геометричном" виде:

Облака, кроны деревьев, горные хребты, кровеносная система человека и животных, капилляры растений - всё это так же вполне "легитимные" примеры фракталов...

...Поэтому появление визуализационных программ для фотореалистичного отображения природных ландшафтов - вещь более чем закономерная.

Эта история началась в однотысяча девятьсот....

...восьмидесятом году, когда сотрудник корпорации Boeing Лорен Карпентер представил на выставке SIGGRAPH двухминутный CG-ролик под названием Vol Libre, изображающий сложнейший и чрезвычайно реалистично смотрящийся ландшафт, сформированный на основе фрактальных геометрических алгоритмов, самим Карпентером разработанных.

Узрев такое величие, фирма Джорджа Лукаса Industrial Light and Magic поспешила переманить Карпентера к себе - и в 1982 году честной народ снова ахнул, увидев в фильме Star Trek II: The Wrath of Khan сцену "быстрого терраморфинга" целой планеты (Genesis Effect).

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

В том же 1982 году выходит в свет книга Бенуа Мандельброта "Фрактальная геометрия природы". Художник Ричард Восс подготовил ("нагенерил") для неё множество иллюстраций - в том числе, ландшафтов, напоминавших природные. Новые возможности для художников были налицо... Но созданием инструментария изначально занимались всё-таки математики и программисты.

Кен Масгрейв, Bryce и MojoWorld

Доктор Кеннет Масгрейв - ученик Мандельброта - в 1993 году опубликовал диссертацию под названием "Методы реалистической визуализации ландшафтов" (Methods for Realistic Landscape Imaging), в которой описывал соответствующие тематике алгоритмы. Эти алгоритмы впоследствии легли в основу пакета под названием Bryce, первая версия которого была написана в 1994 году для Macintosh. Стабильная версия для PC появилась только в 1997 году. В 2000 году компания Corel выкупила права на пакет, выпустила в 2001 году версию 5.0 и убрала Bryce в долгий ящик, отмахнувшись от поклонников программы, нывших, что им нужны новые возможности. Фактически Bryce впору было списывать в abandonware, однако же в 2004 году компания DAZ внезапно выкупила Bryce и занялась его дальнейшим развитием. Актуальная версия (выпущенная в марте 2007 года) носит индекс 6.1.

Пакет обладает широкой функциональностью в плане генерации и редактирования натурально выглядящего ландшафта, поддерживает сторонние материалы и текстуры, вдобавок - начиная с пятой версии - в Bryce наличествует т.н. Tree Lab, комплекс алгоритмов, позволяющих генерировать на полученной поверхности достаточно реалистично выглядящую растительность. И кроме того, Bryce интегрирован с пакетом трёхмерного моделирования и анимации DAZ Studio, так что при желании в сцену, создаваемую в Bryce, можно импортировать из Studio модели, в том числе анимированные, с сохранением всех их параметров.

Системные требования у пакета, по нынешним временам, очень, скажем так, демократичные.

Версия для Mac потребует 700-мегагерцевого процессора (рекомендуется, впрочем, 1 ГГц), причём поддерживаются и Mac Intel, и Power Macintosh; 512 мегабайт оперативной памяти минимум, рекомендуется 1 Гбайт, также понадобятся 100 мегабайт дискового пространства как минимум (лучше - 500). Что касается видеокарты, то обязательным условием будет наличие 128 мегабайт собственного ОЗУ и поддержка OpenGL. Операционная система - Mac OS X 10.3.9. или выше.

Для PC системные требования аналогичные, причём Bryce по-прежнему поддерживает Windows NT 4 (SP6), Windows 2000 (SP2) и Windows XP. Про Windows Vista ничего не сказано. Windows 2003 Server же не поддерживается вовсе.

Что касается Масгрейва, то с 2000 года он занялся разработкой нового пакета аналогичной направленности - MojoWorld.

Это также генератор сцен и ландшафтов на фрактальной основе - но со своими хитростями. Одной из главных, пожалуй, можно назвать броскую цветастость получаемых в MojoWorld изображений: сцены получаются не фотореалистичным, а, скорее, сюрреалистичными, ярче и фантастичней просто некуда.

В MojoWorld разом генерится целая планета - на лету. Естественно, на пользовательском экране она показана в очень сильно сниженном разрешении, с крайне низкополигональным ландшафтом и условными обозначениями конкретных объектов (таких, как спутники наших виртуальных планет, например). Сами разработчики называют MojoWorld своей "песочницей", и для всех желающих на сервере компании Pandromeda, принадлежащей Масгрейву, выложена программа MojoWorld 3 Viewer, позволяющая только "исследовать" - не редактировать - виртуальные миры, созданные пользователями MojoWorld, и рендерить из них "красивые картинки" сколько душе угодно.

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

Последние новости на сайте Pandromeda, увы, датированы 2006 годом. А Кен 'Doctor Mojo' Масгрейв нынче прозывается Его честью Р. Кентоном Масгрейвом, и заседает в Внешнеторговом суде США. Возиться ему с MojoWorld, скорее всего, некогда.

Terragen, возможно, относится к числу наиболее популярных пакетов такого рода, поскольку у него есть бесплатная версия. Забавно, что, хотя Terragen имеет уже более чем солидный возраст, формально он так и остаётся в бете - актуальная версия имеет индекс 0.9.43, и датирована сентябрём 2005 года. Собственно говоря, свет вот-вот увидит бета-версия Terragen 2, но об этом чуть позже.

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

Проблема с Terragen состоит в том, что, по причине отсутствия встроенных средств для генерации растительности, он пригоден для крупномасштабных сцен — либо для крупного плана, при условии, что растительность там ничего не значит. Отдельных деревец и кустиков не разглядеть.

Ещё одна "проблема" - это излишняя узнаваемость получаемых с помощью Terragen изображений. Например, он моментально вычисляется по "фирменному" плоскому и драному облачному покрову, излишне резким границам между сушей и водой, сама вода тоже иногда оставляет желать лучшего, слишком высокие скалы и горы тяготеют к ненатурально правильной остроконечности, так что получаются сплошь не то Ортханки, не то ведьмины шляпы.

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

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

Остаётся добавить, что Terragen 0.9 поддерживает экспорт получившегося ландшафта в форматах SGI Image 8/16 bpp, Raw 8/16 bits, VistaPro (это формат для другого — очень старинного - генератора ландшафтов*) и даже Lightwave 3D Objects. 

Изначально разработчики записали в лицензионном соглашении, что как только версия 1.0 выйдет в свет, все, скачавшие и установившие себе бета-версии должны будут их деинсталлировать. В итоге до них всё-таки дошло, что реалистичность такого подхода находится где-то в районе нуля, поэтому они взялись за разработку Terragen 2, который более чем серьёзным образом превосходит первую программу.

Достаточно взглянуть вот на это изображение, чтобы понять, о чём речь.

 

Что мы тут видим? Во-первых, траву и облака, от которых отвисает челюсть. Во-вторых, вода, куда более вразумительная, нежели в первой версии. С другой стороны, даже издали все эти ели, которыми покрыты склоны дальних гор, выглядят удручающе одинаковыми.

Вот ещё один блистательный пример: утёс, не отличимый от реального. С отвесными утёсами в первом Terragen было совсем плохо, увы.

Простите, это точно не фотографии?

После такого возникает вопрос: а чего Terragen 2 НЕ может?

А вот и ответ: к сожалению, деревья получаются удачными далеко не всегда, ветви из ствола так не торчат. Впрочем, раз на раз не приходится.

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

Системные требования Terragen 2, который всё ещё в бете (но явно выйдет в ближайшие месяцы), согласно сайту разработчиков, будут следующими:

Процессор: Pentium 4/AMD Athlon XP или выше

Память: 512 мегабайт минимум

Видео: Поддержка OpenGL.

ОС: Windows 2000, Windows XP как минимум для PC, Mac OS X 10.4 — для Mac.

Не бог весть что, по большому счёту.

E-on Vue

Серия пакетов Vue — это уже элита из элит: её более чем активно используют в кинематографе, и чем дальше, тем активнее. Последние фильмы, где Vue использовался для Matte Painting — это «Пираты Карибского моря» и «Индиана Джонс и Королевство хрустального черепа», где более или менее живописная местность на заднем плане подменялась ещё более живописной, полученной с помощью Vue. Члены съёмочной группы потом торжественно заявили, что этот пакет прописывается в их инструментарии навеки.

Данный коллаж с сайта разработчиков Vue это прекрасно демонстрирует:

Vue используют Industrial Light and Magic, Walt Disney Pictures, Weta Digital, Sony Pictures Image Works, и даже Nasa, Boeing и другие компании, не имеющие никакого отношения к развлекательной отрасли (но заинтересованные в высококачественной ландшафтной визуализации).

Перечислять функции пакетов серии Vue 6 — дело, мягко говоря, неблагодарное, и достаточно будет взглянуть на  вот эту страницу, чтобы понять, почему.

World Machine

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

А самое важное, что всё это может быть экспортировано в виде карты высот или Mesh'а, кроме того, на базе полученного изображения можно создать карту нормалей для использования в других пакетах 3D-графики (а также при дизайне игр).

Как и у Terragen, у Wolrd Machine имеется своя базовая (бесплатная) версия, чья функциональность отличается от «взрослых» вариантов программы максимальными размерами отрендеренного изображения (513 пикселей по горизонтали и вертикали — господа разработчики, ну поимейте вы совесть, у Terragen и то 1280x960!), а также поддержкой скриптов (доступны только в профессиональной версии), 64-битных ОС, многопоточности и милостивым разрешением на использование в коммерческих целях. Впрочем, стоит всё это не бог весть сколько: 89 долларов за стандартное издание и 189 долларов за одну лицензию на профессиональный вариант. Правда, есть ещё групповая версия — эта стоит 1000 долларов. Ну-ну...

Постскриптум, едва относящийся к делу...

Если покопаться, то обнаружится, что уже для всех 3D-редакторов, имеются свои топографические генераторы, причём в немалых количествах. Есть все основания полагать, что со временем их будет становиться только больше. С одной стороны мы наблюдаем могучий крен в направлении всё большей наглядности (достаточно вспомнить Sculpt-режим в Blender, редактор zBrush и т.д.), которая сама по себе стала возможной лишь благодаря скачку производительности персональных компьютеров в последние полтора десятилетия, с другой — увеличение сложности задач по визуализации, особенно, если говорить о компьютерных играх. Поэтому имеется серьёзный спрос на «экономию усилий» - если какой-то процесс возможно автоматизировать, то это становится насущной необходимостью, так что если есть программы, которые справляются со сложной задачей по визуализации при минимальных трудозатратах со стороны человека, на них будет спрос, и не только в профессиональной среде.

.......................................................................

*VistaPro

Древнющий (начинался с компьютеров Amiga, которые правили мультимедийный бал в конце 1980-х — и даже «макинтошам», не говоря уж о IBM-совместимых машинах, за ними угнаться не могли.

Не слишком требовательный, но, как уверяют пользователи, весьма качественный пакет для генерации трёхмерных ландшафтов:

http://www.vendornation.com/images/vp001_screen1.jpg

Поддерживается генерация растений (и на весьма приличном уровне), воды и облаков — облака, правда, совсем слабые, вода тоже оставляет желать лучшего:

http://www.vendornation.com/images/vp001_screen4.jpg

До сих пор распространяется на коммерческой основе:

http://www.vendornation.com/*ws4d-db-query-QuickShow?vp001

железо и софт
Разделы:
Рубрики:
Популярное: