· поле ввода "Центр вращение" - ввод трех координат центра вращения ландшафта в системе координат ландшафта;
· кнопки группы "Переместить" предназначены для перемещения и масштабирования ландшафта. Эти же действия можно выполнять с помощью мыши или клавиатуры. Мышь: перемещение осуществляется при удерживаемой клавише 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).
Условия теста: в «Редактор карт» была загружена выбранная карта, далее, с изменяемым от 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 |
Для большей наглядности построены графики зависимости времени загрузки файла от его объема: