Факультет «Информатика и системы управления»
Кафедра «Программное обеспечение ЭВМ и информационные технологии»
Курсовой проект
по машинной графике
Расчётно-пояснительная записка
Тема:
«Построение изображений ландшафта в реальном времени»
Оглавление
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. ............