Курсовая работа: Построение изображений ландшафта в реальном времени

Height : Single;

end;

Поля этой записи имеют следующее значение:

· Color – цвет изообласти;

· Height – представляемая высота.

Размер записи – 8 байт (компилятор Delphi производит выравнивание полей в записи, поэтому размер записи оказывается равным 8 байтам, а не 7, как должно быть).

Тип TRGBColor используется для хранения RGB-цвета. Представим его структуру:

TRGBColor = record

R, G, B : Byte;

end;

Размер записи – 3 байта (по неизвестным причинам в этом случае выравнивания не произошло).

В процессе создания каждой карты создается динамический массив, для хранения информации обо всех типах изообластей:

THeightColors = array of THeightColor;


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

Для хранения узлов исходной равномерной сетки (с шагом 1) используется динамический массив элементов типа Single:

TZBitMap = array of array of Single;

Тип Single использован для экономии оперативной памяти и дискового пространства, точность этого типа – 8 знаков после запятой, что вполне достаточно в рамках этой работы, при этом переменная этого типа занимает в памяти 4 байта, вдвое меньше, чем переменная типа Real.

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

TTriangle = record

P : array [0..2] of TPoint3

N : TPoint3

pD : Single;

aN : array [0..2] of TPoint3;

Color : TRGBColor;

end;

Поля этой записи имеют следующие значения:

· P – массив точек треугольника;

· N – нормаль к плоскости треугольника;

· pD – свободный член уравнения плоскости, несущей треугольник;

К-во Просмотров: 526
Бесплатно скачать Курсовая работа: Построение изображений ландшафта в реальном времени