Факультет «Информатика и системы управления»
Кафедра «Программное обеспечение ЭВМ и информационные технологии»
Курсовой проект
по машинной графике
Расчётно-пояснительная записка
Тема:
«Построение изображений ландшафта в реальном времени»
Оглавление
1. Введение
2. Конструкторская часть
2.1 Выбор, обоснование и описание используемых алгоритмов и понятий машинной графики
2.1.1 Равномерная сетка высот
2.1.2 Сглаживание ландшафта
2.1.3 Трехмерные аффинные преобразования
2.1.4 Проецирование
2.1.5 Отображение в окне
2.1.6 Алгоритм Z-буфера
2.1.7 Освещение
2.1.7.1 Однотонная закраска (метод гранения)
2.1.7.2 Метод Гуро
2.1.7.3 Метод Фонга
2.1.7.4 Анализ методов Гуро и Фонга
2.1.8 Последовательность действий при визуализации сцены
2.2 Типы, структуры данных и функции, использованные при реализации программного комплекса
2.2.1 Представление исходных данных
2.2.2 Программа «Редактор карт»
2.2.2.1 Изообласти высоты
2.2.2.2 Равномерная сетка высот и ландшафт
2.2.2.3 Тип и структура файла для хранения карт изообластей
2.2.2.4 Распределение программы по модулям
2.2.2.5 Связи между модулями программы
2.2.3 Программа «Просмотр ландшафта»
2.2.3.1 Процедуры манипуляции изображением ландшафта
2.2.3.2 Z-буфер
2.2.3.3 Буфер кадра
2.2.3.4 Процедуры визуализации ландшафта
2.2.3.2 Тип и структура файла для хранения ландшафта
2.2.3.3 Распределение программы по модулям
2.2.3.4 Связи между модулями программы
3. Технологическая часть
3.1 Выбор языка программирования
3.2 Описание программного комплекса
3.2.1 Программа «Редактор карт»
3.2.1.1 Общие сведения
3.2.1.2 Интерфейс программы
3.2.1.3 Работа программы
3.2.2 Программа «Просмотр ландшафта»
3.2.2.1 Общие сведения
3.2.2.2 Интерфейс программы
3.2.2.3 Работа программы
3.2.3 Системные требования
4. Экспериментально-исследовательская часть
4.1 Исследование № 1
4.2 Исследование № 2
4.3 Исследование № 3
5. Заключение
6. Список литературы
1. Введение
Решение задачи построения поверхности на основе карты изолиний или изообластей высот является одним из этапов создания геоинформационной системы (компьютерная система, которая хранит в базе данных описание и обеспечивает анализ объектов, расположенных на поверхности Земли). Описание поверхности изолиниями высоты часто используется, например, в картографии. В данной работе решается задача построения изображения ландшафта на основе карты изообластей высот в реальном времени.
В свою очередь задача построения изображения ландшафта на основе карты изообластей включает в себя следующие задачи:
· преобразование данной карты в равномерную сетку высот;
· триангуляция полученной сетки высот;
· при необходимости – сглаживание триангулированной сетки для получения изображений ландшафтов, близких по очертаниям к реальным.
Требование к скорости построения изображений ландшафта (для комфортной работы необходима производительность порядка 30 кадров в секунду [1]) определяет выбор алгоритма машинной графики, используемого для визуализации сцены – алгоритм Z-буфера в наибольшей степени отвечает этому требованию, так как он является наиболее простым в своей группе и требует наименьшего количества вычислительных ресурсов.
Кроме этого, в данной работе затронуты другие алгоритмы машинной графики: преобразование координат, проецирование, освещение.
При работе с освещением реализованы следующие алгоритмы заполнения плоских граней (в данной работе - треугольников):
· метод гранения (однотонной закраски с учетом ориентации нормали к плоскости грани);
· метод Гуро – метод закрашивания граней трехмерных объектов, который использует билинейную интерполяцию интенсивности цвета в вершинах граней;
· метод Фонга – метод, основанный на билинейной интерполяции векторов нормалей в вершинах граней.
Цель данной работы – реализовать перечисленные алгоритмы в разрабатываемом программном комплексе.
В программе также предусмотрен удобный русскоязычный пользовательский интерфейс, позволяющий редактировать карты изообластей высот, а также управлять получаемым изображением ландшафта (вращать его относительно координатных осей, масштабировать, изменять цвет поверхности и т.д.).
2. Конструкторская часть
2.1 Выбор, обоснование и описание используемых
алгоритмов и понятий машинной графики
2.1.1 Равномерная сетка высот
Существует большое количество моделей описания поверхностей. Наиболее распространенными из них являются:
· аналитическая модель – для описания поверхности используются математические формулы, например функции от двух аргументов z = f(x, y);
· векторная полигональная модель – для описания пространственных объектов используются такие элементы, как вершины, векторы, полилинии, полигоны, полигональные поверхности;
· воксельная модель – представляет собой трехмерный растр. Подобно тому, как пиксели располагаются на плоском изображении, воксели образуют трехмерные объекты в некотором объеме;
· неравномерная сетка – в этой модели поверхность описывается в виде множества отдельных точек, принадлежащих поверхности.
В данной работе в качестве модели описания поверхности (ландшафта) используется равномерная сетка высот. Эта модель описывает координаты отдельных точек поверхности способом, показанным на рисунке:
Рис. 2.1.1.1. Общий вид равномерной сетки высот
Каждому узлу сетки с индексами (i, j) приписывается значение высоты Zij. Индексам (i, j) отвечают определенные значения координат (x, y). Расстояние между узлами одинаковое – dX по оси X и dY по оси Y.
Фактически такая модель представляет собой двумерный массив, растр, матрицу, каждый элемент которой сохраняет значение высоты.
Следует отметить, что не каждая поверхность может быть представлена с помощью этой модели, так как если в каждом узле записывается только одно значение высоты, то это означает, что поверхность описывается однозначной функцией z = f(x, y). Кроме того, невозможно моделирование вертикальных граней.
В случае представления ландшафта в виде равномерной сетки высот эти ограничения являются незначительными и вполне допустимыми. Равномерная сетка часто используется для описания рельефа земной поверхности [2].
Следует выделить следующие положительные черты модели равномерной сетки:
· простота описания поверхностей;
· возможность быстро узнать высоту любой точки поверхности простой интерполяцией.
Но эта модель также имеет и недостатки:
· для описания сложных поверхностей необходимо большое количество узлов, которое может быть ограничено объемом памяти компьютера;
· поверхности, которые соответствуют неоднозначной функции высоты в узлах сетки, не могут моделироваться (как уже говорилось, это ограничение незначительно в условиях данной работы).
Но в данной работе равномерная сетка используется опосредованно – сразу же при получении она разбивается на треугольники (производится ее триангуляция), поскольку реализация необходимых в процессе работы алгоритмов машинной графики для этого примитива наиболее проста. Разбиение на треугольники производится путем проведения диагонали из точки (i, j) в точку (i – 1, j + 1).
... средств. К примеру, Adobe Photoshop сейчас не является чисто растровым редактором, a CorelDRAW имеет довольно развитые средства работы с растровой графикой. 2. Графические редакторы, используемые для создания векторных и растровых изображений Редакторы растровой графики Microsoft Paint - простой (или лучше сказать - простейший) редактор, входящий в стандартную поставку операционных систем ...
... поле зрения оптической системы. Положим, что D (рис.3) - действительная диафрагма, которая ограничивает пучок световых лучей, участвующих в формировании изображения, - апертурная диафрагма, DxuD2 - изображения этой диафрагмы в передней и задней частях оптической системы. Если Dy или D2 заменить реальными диафрагмами, то они будут ограничивать световой поток так же, как диафрагма D. На основании ...
... стало очень динамичным, разномасштабным, многоракурсным и цветовым, вследствие чего значительно возросла информационная насыщенность зрительного ряда. Глава 3. Соотношение слова и изображения в аудиовизуальном сообщении 1. Комплексное аудиолингвовизуальное сообщение Изображение как знаковая система первична по отношению к символическим знакам, в том числе и к написанному слову1. Первоначально ...
... после «Четырех апостолов» тоже не создал ничего значительного. Он скончался через два года после завершения этой работы — в 1528 году. Творчество Дюрера не имело непосредственных продолжателей, но его влияние на искусство Германии было огромным, решающим. Художники одного с ним поколения, так же как и его младшие современники, уже совсем иными глазами смотрели на мир, нежели мастера 15 в. Острый ...
0 комментариев