netlib.narod.ru< Назад | Оглавление | Далее >

Карты высот

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


Рис. 10.1. Пример карты высот

Рис. 10.1. Пример карты высот


Чтобы построить ландшафт из карты высот вам сперва надо построить сетку вершин той же размерности, что и у карты высот, а затем использовать значение высоты каждой точки (пикселя) из карты высот как высоту для вершины в сетке вершин. Например, вы можете использовать карту высот разрешением 6 × 6 пикселей для смещения высоты каждой вершины в сетке вершин 6 × 6.

Помимо местоположения, каждая вершина сетки содержит другие атрибуты, необходимые для визуализации, такие как нормаль и координаты текстуры. На рис. 10.2 показана сетка вершин 6 × 6, созданная в мировой плоскости XZ, где высота каждой вершины задается по мировой оси Y.


Рис. 10.2. Сетка вершин 6 х 6, созданная в плоскости XZ

Рис. 10.2. Сетка вершин 6 × 6, созданная в плоскости XZ


В сетке вершин вы должны определить расстояние между каждой парой вершин (по вертикали и по горизонтали). На рис. 10.2 это расстояние называется «размер блока». Меньшее расстояние между вершинами позволяет сгладить перепады между высотами вершин, но уменьшает размер сетки, в то время как большое расстояние между вершинами увеличивает размер сетки, но может привести к резким перепадам между высотами вершин. Таким образом, если расстояние между каждой парой вершин (по вертикали и по горизонтали) составляет 1 метр, общий размер сгенерированного ландшафта будет 255 × 255 метров.

Карта высот ландшафта обычно хранится в 8-разрядном изображении, ее значения высот варьируются от 0 до 255, где 0 (черный цвет) представляет самую низкую высоту вершины, а 255 (белый цвет) представляет максимально возможную высоту вершины. Вы можете расширить этот интервал, используя коэффициент масштабирования, который умножается на заданное значение высоты, увеличивая его диапазон. Это обеспечивает больший интервал высот, но с меньшей точностью между значениями. На рис. 10.3 показан трехмерный ландшафт, построенный из карты высот с рис. 10.1, визуализированный в каркасном (сверху) и сплошном (снизу) режимах.


Рис. 10.3. Ландшафт, сгенерированный из карты высот

Рис. 10.3. Ландшафт, сгенерированный из карты высот на рис 10.1 и визуализированный в каркасном и сплошном режимах


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

Генерация карты высот

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

Один из простейших и быстрейших способов построения карт высот — использование утилит процедурной генерации, таких как Terragen (http://www.planetside.co.uk/terragen/). Terragen позволяет генерировать карты высот с различными, определяемыми пользователем параметрами, такими как размер ландшафта, реализм, сглаженность, гляцинация и изрезанность. Одно из преимуществ Terragen в том, что вы его можете использовать бесплатно для некоммерческих приложений. Позже художник может почистить сгенерированную Terragen карту высот.

Другой утилитой, которую можно использовать для создания карт высот, является EarthSculptor (http://www.earthsculptor.com/). В EarthSculptor есть несколько внутренних инструментов для трехмерного моделирования ландшафта, и она позволяет сохранять модели ландшафтов как карты высот.

Форматы файлов карт высот

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


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz