Смекни!
smekni.com

Построение изображений ландшафта в реальном времени (стр. 8 из 8)

Рис. 4.2.1. Результаты исследования № 2


Из проведенного исследования можно сделать следующие выводы:

· время загрузки ландшафта из текстового файла значительно больше времени загрузки из типизированного файла (при малых объемах файлов это различие составляет десятки раз, при увеличении объемов оно достигает тысяч (!!!) раз);

· такое отличие времени загрузки, очевидно, объясняется постоянным преобразованием информации из символьного представления в числовое (работой функций Val или StrToFloat) при загрузке из текстового файла, в то время как при чтении из типизированного файла такого преобразования не требуется;

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

4.3 Исследование № 3

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

Демонстрация результатов использования метода была проведена на следующем наборе карт (размеры приведены в пикселях):

· Австралия.hcl (500 x 395);

· Алтай.hcl (430 x 409);

· Африка.hcl (700 x 730);

· Несжимаемый.hcl (200 x 200);

· Тест сглаживания.hcl (400 x 200);

· Южная Америка.hcl (735 x 1125).

Ниже приведена таблица, которая позволила бы выяснить степень сжатия изображения при использовании метода группового кодирования:

Таблица 4.3.1. Результаты исследования № 3

Название карты Размеры карты (пиксели) Размер BMP-файла (Кб) Размер HCL-файла (Кб) Отношение сжатия
Австралия.hcl 500 x 395 771 36 21:1
Алтай.hcl 430 x 409 687 78 9:1
Африка.hcl 700 x 730 1460 60 24:1
Несжимаемый.hcl 200 x 200 117 156 1:1,3
Тест сглаживания.hcl 400 x 200 312 10 31:1
Южная Америка.hcl 735 x 1125 3150 107 29:1

Из проведенного исследования можно сделать следующие выводы:

· применение метода группового кодирования в данной работе полностью оправдано, поскольку при использовании его в отношении карт изообластей высот, наблюдаются достаточно высокие показатели сжатия (от 9:1 до 29:1, карта «Тест сглаживания» не учитывается, так как она не является реальной картой). Единственным недостатком использования этого метода является незначительное увеличение времени загрузки кодированных файлов в программу «Редактор карт» (это не демонстрировалось в данном исследовании);

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

5. Заключение

Разработанный программный комплекс отвечает всем предъявляемым к нему требованиям. Он обеспечивает возможность создания карт изообластей («Редактор карт») и построения в реальном времени на их основе трехмерных изображений ландшафтов («Просмотр ландшафта»). В нем реализованы все рассмотренные в данной работе алгоритмы машинной графики. Проведены исследования работы алгоритмов на различных наборах исходных данных. Тем не менее, существует множество путей усовершенствования описанного программного комплекса.

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

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

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


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

1. Роджерс Д. Алгоритмические основы машинной графики: пер. с англ.— М.: Мир, 1989.— 512 с.: ил.

2. Порев В. Н. Компьютерная графика. – СПб.: БХВ-Петербург, 2002. – 432 с.: ил.

3. Никулин Е. А. Компьютерная геометрия и алгоритмы машинной графики. СПб.: БХВ-Петербург, 2003. – 560с.: ил.

4. Авдеева С.М., Куров А.В. Алгоритмы трехмерной машинной графики: Учебное пособие. – М.: Изд-во МГТУ им. Н.Э. Баумана, 1996. – 60 с.: ил.

5. Архангельский А.Я. Приемы программирования в Delphi. – М.: ООО «Бином-Пресс», 2003. – 784 с.: ил.

6. http://www.xdev.ru – «Генерация трехмерных ландшафтов».


Оглавление

1. Введение. 1

2. Конструкторская часть. 2

2.1. Выбор, обоснование и описание используемых алгоритмов и понятий машинной графики. 2

2.1.1. Равномерная сетка высот. 2

2.1.2. Сглаживание ландшафта. 4

2.1.3. Трехмерные аффинные преобразования. 5

2.1.4. Проецирование. 6

2.1.5. Отображение в окне. 7

2.1.6. Алгоритм Z-буфера. 8

2.1.7. Освещение. 10

2.1.7.1. Однотонная закраска (метод гранения) 11

2.1.7.2. Метод Гуро. 11

2.1.7.3. Метод Фонга. 13

2.1.7.4. Анализ методов Гуро и Фонга. 14

2.1.8. Последовательность действий при визуализации сцены.. 15

2.2. Типы, структуры данных и функции,
использованные при реализации программного комплекса. 16

2.2.1. Представление исходных данных. 16

2.2.2. Программа «Редактор карт». 16

2.2.2.1. Изообласти высоты.. 16

2.2.2.2. Равномерная сетка высот и ландшафт. 16

2.2.2.3. Тип и структура файла для хранения карт изообластей. 18

2.2.2.4. Распределение программы по модулям. 19

2.2.2.5. Связи между модулями программы.. 20

2.2.3. Программа «Просмотр ландшафта». 21

2.2.3.1. Процедуры манипуляции изображением ландшафта. 21

2.2.3.2. Z-буфер. 22

2.2.3.3. Буфер кадра. 22

2.2.3.4. Процедуры визуализации ландшафта. 22

2.2.3.2. Тип и структура файла для хранения ландшафта. 23

2.2.3.3. Распределение программы по модулям. 24

2.2.3.4. Связи между модулями программы.. 25

3. Технологическая часть. 26

3.1. Выбор языка программирования. 26

3.2. Описание программного комплекса. 26

3.2.1. Программа «Редактор карт». 26

3.2.1.1. Общие сведения. 26

3.2.1.2. Интерфейс программы.. 27

3.2.1.3. Работа программы.. 29

3.2.2. Программа «Просмотр ландшафта». 30

3.2.2.1. Общие сведения. 30

3.2.2.2. Интерфейс программы.. 30

3.2.2.3. Работа программы.. 33

3.2.3. Системные требования. 34

4. Экспериментально-исследовательская часть…. 35

4.1. Исследование № 1. 36

4.2. Исследование № 2. 38

4.3. Исследование № 3. 40

5. Заключение. 41

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