Смекни!
smekni.com

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

· поле ввода "Центр вращение" - ввод трех координат центра вращения ландшафта в системе координат ландшафта;

· кнопки группы "Переместить" предназначены для перемещения и масштабирования ландшафта. Эти же действия можно выполнять с помощью мыши или клавиатуры. Мышь: перемещение осуществляется при удерживаемой клавише Shift, для масштабирования используется колесико мыши; Клавиатура: стрелочные клавиши для перемещения, клавиши '+', '-' для масштабирования;

· кнопки группы "Повернуть" используются для вращения ландшафта относительно соответствующих осей. Вращение ландшафта также может производиться с помощью мыши или клавиатуры. Мышь: горизонтальное смещение - поворот относительно оси Z, вертикальное - относительно X, горизонтальное с удерживаемой клавишей Alt - относительно Y; Клавиатура: относительно X - Insert и Delete, Y - Home и End, Z - PageUp и PageDown;

· кнопка "В исходное положение" предназначена для возвращения ландшафта и источника света в то положение, в котором они находились непосредственно после загрузки.

3.2.2.2.2 Инструментальная форма «Визуальные параметры»

Рис. 3.2.2.2.21. Инструментальная форма «Визуальные параметры»

Эта форма предназначена для выбора методов и параметров визуализации ландшафта. Для этого служат следующие элементы интерфейса:

· группа "Вид ландшафта" позволяет выбрать метод построения ландшафта;

· группа "Закраска" определяет метод визуализации треугольников ландшафта;

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

3.2.2.2.3 Инструментальная форма «Параметры источника света»

Рис. 3.2.2.2.3.1. Инструментальная форма «Параметры источника света»

Данная форма предназначена для управления источником света. Присутствуют следующие элементы интерфейса:

· поле ввода "Координаты" позволяет задавать координаты источника света в системе координат ландшафта;

· кнопки группы "Переместить" предназначены для переноса источника света вдоль соответствующих осей. Используется приращение координат, заданное на форме "Положение ландшафта". Перемещение источника возможно также и с помощью мыши и клавиатуры. Мышь (с удерживаемой клавишей Ctrl): горизонтальное перемещение - перемещение вдоль X, вертикальное - вдоль Y; Клавиатура (при удержании Ctrl): стрелочные клавиши - перемещение вдоль соответствующих осей, клавиши '+' и '-' - вдоль оси Z,

· кнопки группы "Повернуть" позволяют вращать источник света относительно соответствующих осей. Используется приращение угла с формы "Положение ландшафта". Вращение источника света предусмотрено также и с помощью клавиатуры (при удержании Ctrl): клавиши Insert и Delete, Home и End, Page Up и Page Down - вращение относительно осей X, Y и Z соответственно;

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

· группа "Вращение по таймеру" позволяет инициировать вращение источника света относительно выбранных осей по таймеру;

3.2.2.2.4 Инструментальная форма «Статистика»

Рис. 3.2.2.2.4.1. Инструментальная форма «Статистика»

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

Кнопка "Определить" позволяет определить число кадров вывода ландшафта, рассчитываемых и выводимых за 1 секунду.


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

3.2.2.3.1 Требования к расположению файлов программы

Исполняемый файл программы - LandscapeProj.exe. В папке, где размещен этот файл, должна находиться пиктограмма LND_Icon.ico. Эта пиктограмма потребуется при регистрации расширения LND - она будет присвоена файлам с этим расширением. Остальные требования аналогичны описанным в Разделе, касающемся программы “Редактор карт”.

3.2.2.3.2 Открытие файлов ландшафтов

Открытие файлов *.lnd возможно тремя способами:

· непосредственно через меню программы с помощью специального диалога;

· двойным щелчком по файлу ландшафта (после регистрации расширения);

· путем перетаскивания файла на форму приложения. После открытия файла просмотр ландшафта осуществляется с помощью уже описанных инструментальных форм.

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

Системные требования программного комплекса создаются главным образом приложением «Просмотр ландшафта», так как оно намного более требовательно к системным ресурсам, чем «Редактор карт». Они таковы:

· операционная система Windows 98/Me/2000/XP/2003 Server;

· процессор c тактовой частотой 400 МГц;

· объем оперативной памяти 64 МБ;

· видеокарта, обеспечивающая графическое разрешение 1024x768 и глубину цвета 24 бита;

· 35 МБ дискового пространства.


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

Тестирование проводилось на компьютере Pentium IV - 2.67 GHz/768 Mb/GeForce4 MX-440, AGP 8x, DDR 128 Mb.

Были проведены следующие исследования:

1) исследование временных характеристик алгоритмов закраски – для 3 реализованных в работе алгоритмов были произведены исследования зависимости скорости работы от числа треугольников ландшафта;

2) исследование временных характеристик загрузки различных типов LND-файлов (текстового и типизированного);

3) исследование результатов использования метода группового кодирования при создании HCL-файлов.

В качестве тестовой карты в исследованиях № 1 и 2 была взята карта “Алтай.hcl”. Размеры карты “Алтай.hcl”: 430x409x39 пикселей (X x Y x Z).

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

Условия теста: в «Редактор карт» была загружена выбранная карта, далее, с изменяемым от 1 до 20 пикселей, шагом разбиения карты, строились ландшафты. Во время тестов никаких манипуляций с изображением ландшафта не производилось – оно оставалось в том положении, в котором находилось непосредственно после загрузки. Результаты теста приведены в таблице:

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

Метод закраски и
число кадров в секунду
Число
треугольников ландшафта
Шаг разбиения
(X x Y)
Однотонная Гуро Фонг
3 3 3 350064 1 x 1
8 7 6 87720 2 x 2
12 11 9 38896 3 x 3
17 15 10 22032 4 x 4
21 18 12 14104 5 x 5
24 21 12 9792 6 x 6
27 23 13 7316 7 x 7
30 25 14 5508 8 x 8
33 27 14 4416 9 x 9
35 28 14 3526 10 x 10
37 29 15 2964 11 x 11
39 30 15 2448 12 x 12
40 31 15 2112 13 x 13
41 32 15 1860 14 x 14
42 32 15 1624 15 x 15
43 33 16 1404 16 x 16
44 34 16 1248 17 x 17
46 35 16 1104 18 x 18
46 35 16 1012 19 x 19
49 36 16 924 20 x 20

Для большей наглядности приведем графики зависимости числа кадров, обрабатываемых за 1 секунду, от шага разбиения и числа треугольников ландшафта:

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

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

· увеличение числа треугольников ландшафта вызывает уменьшение числа кадров, обрабатываемых за 1 секунду;

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

· при увеличении числа треугольников ландшафта разница в скорости работы рассмотренных алгоритмов уменьшается. Когда карта разбивается на треугольники с шагом 1 x 1, различие между алгоритмами становится минимальным – как по скорости работы, так и по качеству получаемого изображения (однотонная закраска выглядит менее качественно, чем закраска Фонга и Гуро).

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

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


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

Шаг разбиения (X x Y) Тип LND-файла
Текстовый Типизированный
Объем файла (Мб) Время загрузки (с) Объем файла (Мб) Время загрузки (с)
1 x 1 0,113 1,469 0,310 0,016
2 x 2 0,140 2,657 0,390 0,016
3 x 3 0,175 4,609 0,480 0,031
4 x 4 0,233 7,140 0,640 0,047
5 x 5 0,313 10,828 0,860 0,047
6 x 6 0,451 19,515 1,240 0,078
7 x 7 0,704 46,968 1,930 0,125
8 x 8 1,210 157,812 3,410 0,187
9 x 9 2,740 662,781 7,700 0,437
10 x 10 10,90 4102,093 30,71 1,922

Для большей наглядности построены графики зависимости времени загрузки файла от его объема: