Научная статья на тему 'Метод адаптивной генерации ландшафта'

Метод адаптивной генерации ландшафта Текст научной статьи по специальности «Математика»

CC BY
879
91
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМПЬЮТЕРНАЯ ГРАФИКА / ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ / АДАПТИВНАЯ ГЕНЕРАЦИЯ ЛАНДШАФТА / ГЕНЕРАЦИЯ ШУМА

Аннотация научной статьи по математике, автор научной работы — Арсентьев А. Р., Воробкалов П. Н.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

METHOD OF ADAPTIVE LANDSCAPE GENERATION

The problem of automated creation of a model of a part of realistic landscape that confirms given restriction is considered. The domain of a practical application of virtual landscapes is described.We introduce a term of an adaptive landscape generation and analyze an ability of using existing methods for adaptive landscape generation. A proposed algorithm of adaptive landscape generation is shown in detail. The results of algorithm application are presented.

Текст научной работы на тему «Метод адаптивной генерации ландшафта»

Список литературы

1. ДСТУ EN 54-2:2003 (EN 54-2:1997, IDT) Системи пожежної сигналізації. Частина 2. Прилади приймально-контрольні пожежні. K.: Держстандарт України, 2003. 220с.

2. Степанов K. H., Повзик Я. С., Рыбкин И. В. Пожарная техника. Справочник. М.: ЗАО "Спецтехника", 2003. 400 с.

3. ТерещукР. М. Полупроводниковые приёмно-усилительные устройства. Справочник радиолюбителя 4-е изд., стер. Киев.: Наукова. думка, 1989. 800 с.

A. Vinnik, O. Subbotin, N. Zadorozhnyjj

IMPLEMENTATION FEATURES OF DIGITAL-ANALOG CONTROLLING AND SIGNAL PROCESSING UNITS FOR FIRE SECURITY

The low-cost and reliable digital-analog controlling and signal processing circuit is

shown.

Key words: digital-analog equipment, microcontroller, loop, gage, processing units.

Получено 24.11.10

УДК 004.946

A. P. Арсентьев, студент, (8442)248100, aleksander.arsentev@gmail.com,

П. Н. Воробкалов, канд. техн. наук, доц., pavor84@gmail.com (Россия, Волгоград, ВолгГТУ)

МЕТОД АДАПТИВНОЙ ГЕНЕРАЦИИ ЛАНДШАФТА

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

Ключевые слова: компьютерная графика, виртуальная реальность, адаптивная генерация ландшафта, генерация шума

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

- виртуальные испытания моделей транспортных средств;

- обучение пилотов и водителей на тренажерах-симуляторах;

- увеличение презентационных характеристик моделей продукции, путём размещения их на виртуальном ландшафте;

- создание игровых и кинематографических сцен;

- художественный дизайн;

Существующее пакеты генерации ландшафта подразделяются на собственно генераторы и системы моделирования ландшафта, в состав ко-

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

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

- анализ существующих методов генерации ландшафтов;

- разработка метода адаптивной генерации ландшафта;

- реализация программного модуля адаптивной генерации ландшафта;

- реализация системы включающей в себя модуль автоматизированной адаптивной генерации ландшафта;

- тестирование системы.

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

- соседние участки ландшафта;

- проходимость участка транспортным средством с заданными параметрами движения;

- сложность рельефа участка.

Генерация разделена на 2 этапа.

На первом этапе по приведённым выше входным параметрам генерируются макропараметры девяти ключевых точек (центров генерации) ландшафта и высотного шума.

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

По окончании генерации текущего участка переходим к следующему.

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

Применимость существующих методов для адаптивной генера-ции ландшафта. За основу метода адаптивной генерации ландшафта взята островная модификация «холмового метода генерации ландшафта»[1][3].

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

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

Для создания мелких неровностей (высотного шума) эффективней применять фрактальный алгоритм, так как холмовой метод потребует большого числа итераций с холмами малых размеров. Фрактальный алгоритм «Плазма»[2] даёт слишком большой разброс высот и не подходит для создания высотного шума. От применения для этой цели функции Перлина [4] [5] авторы отказались потому, что полученный в результате её работы шум является слишком однообразным, а также не стохастичным.

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

Модификацию функции Перлина применяется при выборе текстуры для окраски однотипных участков ландшафта. Так как данная окраска выполняется на шейдерах версии 2.0 (по техническим требованиям) графическим процессором компьютера, автор разработал шумовую функцию, не использующую целочисленные и побитовые операции при генерации шума.

Модифицированный Холмовой метод. При генерации холмовым алгоритмом ландшафт представляется как суперпозиция холмовых функций. Каждая из которых рисует в пространстве полусферу.

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

Как и в островной модификации холмового метода, холмы генерируются в окрестности контрольных точек. Для каждой точки задаётся «гористость». В соответствии с гористостью выбираются параметры холмов и число проходов. Если гористость отрицательна, то карты высот проходов данной ключевой точки будут отниматься от общей карты высот, образуя водоёмы.

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

Расчёт высоты в точке X происходит по следующей формуле:

ZХ = (§1' ZA + §2 ■ ZB + §3 ' ZC + §4 ^D) ' 0,25 + Р'^ где Zx - искомая высота, ZA-D - высоты в соответствующих точках,

81_4 - случайное вещественное в пределах [0; 4], 85 - случайное вещественное в пределах [-0,5; 0,5], Р - случайный элемент множества [0; 1].

Выражение (81 * ZA + 82 * Zв + 83 * Zc +84 *ZD) * 0.25 обеспечивает сходство точки с предыдущими. Однако при расчёте только по этой формуле, шум будет быстро угасать. Во избежание этого добавлено слагаемое

Р * §5.

На генерируемый шум накладывается фильтр, ограничивающий его в пределах [-К; К].

Продление существующего ландшафта. При генерации участка который будит продолжен запись высот генерируемых ХОЛМОВЫМ методом происходит на карте текущего участка и на заготовках карты следующего участка. На заготовки записываются холмы и/или части холмов которые не помещаются на текущей карте и должны были бы находится на её соседях. Крайний ряд высотного шума запоминается и используется для генерации шума на следующем участке.

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

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

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

- выдача информации о ландшафте игровому ядру;

- генерация ландшафта;

- управление хранилищем сгенерированных участков.

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

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

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

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

— продление ландшафтов в произвольном направлении;

— сохранение ландшафта, для доработки сторонни приложениями;

— загрузку ландшафтов.

Список литературы

1 Кожухов Д. Генерация трехмерных ландшафтов [Электронный ресурс]. 2001. URL: http://www.ixbt.com/video/3dterrains-generation.shtml

2 Mikhailyuk, М. Generation and Rendering of Virtual Terrain [Электронный ресурс. 2000. URL: http://cgg-journal.com/2000-

2/02/GENERATION.htm

3 Map generation and the Hill algorithm [Электронный ресурс]. 2008. URL: http://fortressgame. wordpress. com/2007/08/16/map-generation-and-the-hill-algorithm/

4 Практическая модель динамических атмосферных явлений при визуализации открытых пространств в системах визуализации реального времени / Н. Елыков [и др.]. Новосибирск: Лаборатория программных систем машинной графики ИАиЭ СО РАН, 2004. 8с.

5 Perlin Noise [Электронный ресурс]. 2008. URL:

http://freespace.virgin.net/hugo.elias/models/m_perlin.htm

A. Arsenev, P. Vorobkalov

METHOD OF ADAPTIVE LANDSCAPE GENERATION

The problem of automated creation of a model of a part of realistic landscape that confirms given restriction is considered. The domain of a practical application of virtual landscapes is described.We introduce a term of an adaptive landscape generation and analyze an ability of using existing methods for adaptive landscape generation. A proposed algorithm of adaptive landscape generation is shown in detail. The results of algorithm application are presented.

Key words: computer graphics, virtual reality, adaptive landscape generation, noise generation

Получено 01.04.10

i Надоели баннеры? Вы всегда можете отключить рекламу.