Министерство образования и науки Российской Федерации Ростовский Государственный Университет
Вид материала | Документы |
- Российской Федерации Министерство образования и науки Российской Федерации Государственный, 343.55kb.
- Программа 1-3 октября 2003 года Москва Организаторы и спонсоры Министерство образования, 141.3kb.
- Министерство образования и науки российской федерации федеральное агентство по образованию, 32.48kb.
- Российской Федерации Читинский государственный университет иппк рабочая программа, 177.68kb.
- Министерство образования и науки российской федерации тамбовский государственный университет, 39.54kb.
- Министерство образования и науки российской федерации тамбовский государственный университет, 60.77kb.
- Министерство образования и науки российской федерации тамбовский государственный университет, 59kb.
- Министерство образования и науки российской федерации российский государственный социальный, 183.27kb.
- Н. А. Быковой Контрольные вопросы, 24.48kb.
- Министерство образования и науки российской федерации программ, 381.21kb.
РАЗРАБОТКА ГРАФИЧЕСКОЙ БИБЛИОТЕКИ ДЛЯ РАБОТЫ С ТРЕХМЕРНЫМИ МОДЕЛЯМИ МЕСТНОСТИ
Марков А. А., Гальченко Г. А.
Классический Лицей №1 при Ростовском государственном университете
markovizomega@yandex.ru
В начале XXI века в развитии человеческой цивилизации происходят глобальные изменения, ведущие к её новому этапу – постиндустриальному обществу, все шире использующему компьютеризированные орудия труда и информационные технологии.
Компьютер позволяет автоматизировать и значительно упростить работу людей многих профессий. Для этого существует довольно много специализированных программ.
С увеличением вычислительных мощностей все шире для наглядного представления информации в программном обеспечении используется трехмерная графика [1]. Начинается внедрение трехмерных моделей местности [2].
Трехмерные модели местности обладают гораздо более существенными возможностями, нежели их двухмерные аналоги. Они являются исключительно эффективным иллюстративным материалом, так как позволяют представить информацию в гораздо более наглядном виде.
Трехмерные модели местности – основа разработки ряда новейших компьютерных технологий в следующих областях:
- математическое моделирование для отработки военной техники;
- тренажеры;
- командно-штабные учения;
- моделирование систем управления транспортными потоками;
- архитектурное и ландшафтное проектирование;
- объемные презентации;
- виртуальный туризм;
- компьютерные игры.
Однако в России широкого применения трехмерные модели местности пока не получили, что связано с отсутствием достаточно широкой базы специального программного обеспечения
Цель настоящей работы – разработка графической библиотеки, которая позволила бы значительно расширить возможности уже существующих программ или создать на ее основе новые приложения, использующие все преимущества трехмерных моделей местности.
Основной проблемой, вставшей перед мною в ходе разработки библиотеки стал выбор между существующими принципами представления данных о ландшафте. В работе проведен их анализ и произведен выбор наиболее подходящего. Также в работе сделан выбор оптимальных средств реализации, проведен анализ результатов опытного применения разработанной библиотеки.
Созданная в ходе выполнения работы графическая библиотека позволяет достаточно полно использовать все возможности и преимущества трехмерных моделей местности. Она позволяет расширить возможности уже созданного программного обеспечения или же создать на ее основе новое высокопроизводительное приложение, в котором для представления информации будут применяться вышеуказанные модели. Разработчик сможет воплотить большинство идей заказчика, так как библиотека обладает широкими возможностями.
Широкое использование ассемблерных вставок в модуле геометрических расчетов библиотеки и применение оптимизированных функций вывода позволило добиться приемлемой производительности даже на относительно слабых компьютерах.
Направление дальнейшей работы над библиотекой – расширение ее функциональных возможностей, за счет добавления в нее таких функций как:
- поддержка экспорта и импорта файлов моделей наиболее распространенных форматов (3DS Max, Maya и т.д.);
- расширение набора встроенных объектов (здания, деревья и т.д.);
- фотореалистичный рендеринг;
Разработка графической библиотеки для работы с
трехмерными моделями местности
Выбор принципа представления данных о ландшафте
Основной проблемой вставшей перед мной в ходе разработки библиотеки стал выбор между существующими методами представления данных о ландшафте.
Использование регулярной карты высот.
Данные представлены в виде двухмерного массива. Уже заданы две координаты (x, y - по высоте и ширине массива), и третья координата задается значением в конкретной ячейке, это высота.
На рис. 1 изображен пример, демонстрирующий данный принцип.
Рис. 1. Пример построения ландшафта по регулярной карте высот.
Обычно карту высот хранят в файлах изображений. Это позволяет легко вносить изменения и наглядно просматривать данные. Тогда двумя координатами будет положение конкретного пикселя на картинке, а третья координата будет представлена цветом (чем выше значение, прямая зависимость от яркости пикселя – тем больше значение высоты для этой точки). Обычно такие картинки содержатся в монохромном варианте, но можно использовать и все цвета радуги.
Второй вариант дает больше градаций высоты, чем предполагаемые 256 градаций в случае монохромного представления.
С помощью этого способа можно представить достаточно обширные пространства. Но у него есть один существенный недостаток – слишком много описаний для точек, а также, в некоторых случаях, наблюдается избыточность данных, например, когда задается простая плоскость, то в этом случае для построения будет использоваться множество точек, хотя можно бы было обойтись тремя. Хотя и эта самая избыточность может пойти на пользу, например, при вертексном (вершинном) освещении.
У этого метода существует и несколько плюсов:
- Наглядность, в любой программе просмотра графических файлов можно сразу увидеть всю информацию;
- Простота изменения этих самых данных, так как существует множество программ для работы с растровой графикой;
- В таких картах можно хранить не только данные о высоте. Например, предположим, что для хранения высоты мы используем 16 бит, т.е. две цветовые компоненты, это получается 256x256=65536 градаций высоты. Остальные 8 бит можно использовать для хранения информации о каких-либо особенностях ландшафта, например, расположение зданий, строений, мостов, растительности и так далее.
- Еще одна идея использования карт высот. Будем хранить, также числовые, значения, но теперь не высот, а блоков (назовем их ландшафтными). Можно заранее создать некоторое количество карт высот небольшого размера (скажем 8x8 или 16x16 пикселей), а в карте блоков высот хранить идентификатор существующего блока. Это дает нам значительно больший размер карты и, следовательно, ландшафта. Правда тут нужно будет обратить особое внимание на места соединения блоков. То есть, получается, что первый способ представления данных для построения ландшафта плавно перешел в третий.
- Из некоторых других плюсов можно упомянуть легкость нахождения координат (и высоты!) на карте.
- И еще один плюс – так как вершинные точки расположены регулярно и достаточно близко, можно более правильно и достаточно аккуратно производить динамическое освещение (зачастую, освещенность вершины напрямую зависит от расстояния от этой вершины до источника освещения). Это и есть та самая польза от избыточности данных.
Список использованных источников и литературы
Дэйв Салватор. Шаг в третье измерение. // PC Magazine, 7 мая, 2001.
- Краснов М. В. OpenGL. Графика в проектах Delphi. – СПб.: БХВ-Петербург, 2002. – 352 с.: ил.
- Материалы семинара "Трехмерные цифровые модели местности - опыт и область их применения в Швеции"
- Пирогов В. Ассемблер для Windows. – BHV-Санкт-Петербург. – 656 стр.
- Поздняков К. Разработка графического движка. Ландшафт. // www.gamedev.ru
- Пономаренко С. Пиксел и вектор. Принципы цифровой графики. – СПб.: BHV-Санкт-Петербург. – 496 стр.
- Серба А. Ландшафт шаг за шагом // www.gamedev.ru.
- Технологии построения трехмерных моделей местности. // www.traintech.ru.
- Шишкин Е. В., Боресков А. В. Компьютерная графика. М.: Диалог-МИФИ, 1995. – 288 с., ил.
- Якушев А. Основы 3D математики. Векторные и матричные преобразования // www.gamedev.ru.
- Якушев А. Основы 3D математики. Работа с камерой // www.gamedev.ru.
- Якушев А. Основы 3D математики. Рендеринг // ссылка скрыта.