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

Файл для хранения информации о разметке карты изообластей высот является текстовым. Он имеет расширение HCL и разбит на секции, разделенные строками–маркерами. Ниже приведена его структура:

·        заголовок файла – строка 'Landscape heights map';

·        заголовок секции высот – строка ‘[ColorHeights Start]’;

o        последовательность записей типа THeightColor;

·        окончание секции высот – строка '[ColorHeights End]';

·        заголовок секции пикселей – строка '[Pixels Start]';

o        ширина и высота карты в пикселях;

o        информация о пикселях карты, сжатая с помощью метода группового кодирования (последовательность пар «Индекс цвета – Длина участка»);

·        окончание секции пикселей – строка '[Pixels End]';

Метод группового кодирования используется для экономии дискового пространства, занимаемого файлами плоских карт. Суть метода состоит в том, что сохраняется информация не о каждом пикселе карты, а о группах пикселей, принадлежащих одной строке и имеющих общий цвет (запоминается длина участка и цвет его пикселей). Таким образом, можно добиться значительной экономии дискового пространства. Это можно проверить, сопоставив размер файла BMP, хранящего изображение карты, и размер соответствующего ему файла HCL. Однако экономия дискового пространства не всегда может быть достигнута при использовании данного метода. Можно привести такой пример изображения, при кодировании которого размер итогового файла будет превышать размер исходного BMP-файла. Строки этого изображения должны состоять из таких пикселей, что цвет любых двух соседних не совпадает. Но, несмотря на это, использование метода группового кодирования в данной работе вполне оправдано, так как карта в общем случае имеет вполне однородную структуру.

Для работы c файлами карт изообластей высот предусмотрены следующие процедуры:

·        procedure LoadFromHeightsMap(FileName : string; var Image : TImage; var Colors : THeightColors) - процедура для загрузки из файла HCL карты изообластей высот и соответствий цвет-высота. Информация загружается из файла FileName. Разметка карты выводится на Image, а соответствия «Цвет-высота» помещаются в динамический массив Colors;

·        procedure SaveAsHeightsMap(Image : TImage; Colors : THeightColors; FileName : string) – процедура для сохранения разметки карты в файл HCL. Разметка считывается из Image, соответствия «Цвет-высота» из массива Colors, эта информация помещается в файл c именем FileName.

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

Таблица 2.2.2.4.1. Распределение программы «Редактор карт» по модулям

Имя модуля Описанные типы Назначение модуля
AboutUnit.pas - Модуль формы «О программе»
ColorUnit.pas - Модуль формы определения соответствия «Цвет-высота»
HelpUnit.pas - Модуль формы «Помощь»
MainUnit.pas - Главный модуль программы
ME_ExtRegUnit.pas - Модуль регистрации расширения HCL
ME_FileUnit.pas - Модуль работы с файлами
ME_GraphicsUnit.pas - Модуль реализации процедур визуализации
ME_MathUnit.pas TRGBColor, TPoint3, TTriangle, TTriangles, THeightColor, THeightColors, TZBitMap Модуль реализации вычислений
MLEditorUnit.pas - Модуль инструментальной формы «Обработка карт»
NewPictureUnit.pas - Модуль формы определения размеров новой карты
SectionUnit.pas - Модуль формы «Разрез»

 

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

Рис. 2.2.2.5.1. Связи между модулями программы «Редактор карт»

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

В программе «Просмотр ландшафта» также используется тип TTriangle. Он полностью аналогичен типу TTriangle, используемому в программе «Редактор карт». Ландшафт, как уже говорилось, представляется как совокупность треугольников, поэтому для его хранения в программе предусмотрен тип, представляющий собой динамический массив:

TTriangles = array of TTriangle.

 


Информация о работе «Построение изображений ландшафта в реальном времени»
Раздел: Информатика, программирование
Количество знаков с пробелами: 67267
Количество таблиц: 5
Количество изображений: 27

Похожие работы

Скачать
24360
0
0

... средств. К примеру, Adobe Photoshop сейчас не является чисто растровым редактором, a CorelDRAW имеет довольно развитые средства работы с растровой графикой. 2. Графические редакторы, используемые для создания векторных и растровых изображений Редакторы растровой графики Microsoft Paint - простой (или лучше сказать - простейший) редактор, входящий в стандартную поставку операционных систем ...

Скачать
24268
0
3

... поле зрения оптической системы. Положим, что D (рис.3) - действительная диафрагма, которая ограничивает пучок световых лучей, участвующих в формировании изображения, - апертурная диафрагма, DxuD2 - изображения этой диафрагмы в передней и задней частях оптической системы. Если Dy или D2 заменить реальными диафрагмами, то они будут ограничивать световой поток так же, как диафрагма D. На основании ...

Скачать
99490
3
0

... стало очень динамичным, разномасштабным, многоракурсным и цветовым, вследствие чего значительно возросла информационная насыщенность зрительного ряда. Глава 3. Соотношение слова и изображения в аудиовизуальном сообщении 1. Комплексное аудиолингвовизуальное сообщение Изображение как знаковая система первична по отношению к символическим знакам, в том числе и к написанному слову1. Первоначально ...

Скачать
96923
0
0

... после «Четырех апостолов» тоже не создал ничего значительного. Он скончался через два года после завершения этой работы — в 1528 году. Творчество Дюрера не имело непосредственных продолжателей, но его влияние на искусство Германии было огромным, решающим. Художники одного с ним поколения, так же как и его младшие современники, уже совсем иными глазами смотрели на мир, нежели мастера 15 в. Острый ...

0 комментариев


Наверх