ФизМатШкола № 30
 

ФизМатШкола № 30
ГРУППА КОМПЬЮТЕРНОЙ ГРАФИКИ
ФИЗИКО-МАТЕМАТИЧЕСКОГО ЛИЦЕЯ № 30

Computer Graphics Support Group
of 30 Phys-Math Lyceum

Tough Environment System

Авторы:
1.Абрамова ЕвгенияAbramova Eugenia9-3 класс
2.Аракелян ДавидArakelyan David10-5 класс
3.Кобзарев АлексейKobzarev Alexei10-5 класс
4.Корочагин ДенисKorochagin Denis10-5 класс
5.Курятников МихаилKuryatnikov Michael9-3 класс
6.Малышев ИванMalyshev Ivan10-4 класс
7.Мануилов ГеоргийManuilov Georgiy9-3 класс
8.Минаев НикитаMinaev Nikita9-1 класс
9.Тетюхин АртемTetyuhin Artem10-4 класс

Научный руководитель проекта: Галинский Виталий Александрович

Presentation

Executible (self extractable)

Abstract

The project is devoted to realistic 3D landscape modeling and visualization system implementation. Two approaches were employed to generate landscape, uniform grid based on height field and arbitrary point set with subsequential triangulation. Spatial data rendered with several issues, noise applying, illumination with color map, etc. To visualize the geometry generated we implemented an animation system. The system developed can be used in wide range of tasks, including landscape reconstruction and synthesizing random landscapes.

Аннотация

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

Тезисы

Введение

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

Построение системы

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

Построение GRID

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

Построение триангуляции

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

Использование шума

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

Визуализация

Для визуализации построенной геометрии нами разработана анимационная система, включающая в себя построение различных примитивов (в том числе основных - регулярной сетки и триангулированной геометрии), выполнение освещения примитивов перед выводом, синхронизацией и интерактивным управлением. Для создания реалистичного отображения ландшафта используется механизм таблиц цветов ([5]) с измененной системой применения, позволяющей одновременно производить освещение объектов (карта цветов сопоставляет высоте данной точки рельефа ее цвет - как на бумажных картах). Для редактирования карт цветов в системе предусмотрен специальный редактор и наборы предварительно сформированных цветовых данных. Отображение всей сцены осуществляется посредством графической библиотеки OpenGL ([6]). Вывод в 3D пространстве оптимизируется за счет сокращения передаваемых на отображения данных: регулярная сетка рисуется полосами треугольников (triangle strip), а нерегулярные данные - индексированными примитивами.

Заключение

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

Литература

  • В.Н.Порев. "Компьютерная графика". С.-Петербург: BHV-Петербург, 2002.
  • К.Линдли. "Практическая обработка изображений на языке Си". Москва: Мир, 1996.
  • Michael J. Laszlo. "Computation Geometry and Computer Graphics in C++". Prentice Hall, Inc., A Simon & Schuster Company, 1996.
  • David S. Ebert (ed.), F. Kenton Musgrave, Darwyn Peachey, Ken Perlin, Steven Worley. "Texturing and Modeling. A Procedural Approach", AP Professional, Academic Press, 1994.
  • Е.В.Шикин, А.В.Боресков. "Компьютерная графика. Динамика, реалистические изображения". М.: Диалог-МИФИ, 1995.
  • М.Ву, Т.Девис, Дж.Нейдер, Д.Шрайнер "OpenGL. Руководство по программированию", 4-е издание, С.-Петербург: Питер, 2006
ФМЛ № 30
 
Сайт Физико-математического лицея № 30, Санкт-Петербург, Россия