Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции КГ.doc
Скачиваний:
27
Добавлен:
17.11.2019
Размер:
6.81 Mб
Скачать

8.Визуализация 3d моделей

Созданную 3D модель поверхности или тела необходимо визуализировать – вывести на экран. При визуализации трехмерные объекты проецируются на плоскость, поэтому любая визуализация, в конечном счете, сводится к построению тех или иных проекций.

Все проекции делятся на два вида – центральные и параллельные (Рис. 8 .54).

а)

б)

Рис. 8.54 – Центральная (а) и параллельная (б) проекции.

У центральных проекций имеется точка наблюдения, в которой сходятся лучи, строящие проекцию. У параллельной проекции точка наблюдения вынесена в бесконечность. При центральной (перспективной) проекции изображение более близко к тому, которое образуется на сетчатке глаза, поэтому оно кажется более реалистичным. Однако центральные проекции искажают размеры объекта, поэтому их применение недопустимо в конструкторской документации.

Параллельные проекции любой точки объемного тела получаются очевидным образом путем построения перпендикуляра к проекционной плоскости, проходящего через заданную точку тела. Центральные проекции точек можно получить матричным методом при помощи перемножения соответствующих матриц преобразования.

Поскольку тела состоят в общем случае из плавных кривых, необходимо иметь способ построения проекций не просто отдельных точек, но и произвольных кривых линий. Для получения проекционного изображения кривой используется понятие полигона кривой – ломаной линии, состоящей из отрезков и аппроксимирующей заданную кривую (Рис. 8 .55).

Рис. 8.55 – Полигон кривой.

Рис. 8.56 – Определение шага полигона.

Точки на полигоне идут с некоторым шагом, который зависит от принятой точности отображения . Вычислим допустимый шаг точек полигона. Пусть кривая задана уравнением r(t). Точка t0 (Рис. 8 .56) лежит на кривой и является одной из вершин полигона. Нужно найти точку, являющуюся следующей вершиной полигона, причем отклонение полигона от кривой не должно превышать . Кривую в окрестностях точки t0 можно представить как сегмент окружности радиуса :

(0)

По теореме Пифагора длина хорды h, соединяющей точки t0 и t1, равна

(0)

Поскольку величина h мала, можно считать, что длина хорды примерно равна длине дуги. Тогда приращение с учетом (0) равно

(0)

Если кривая резко меняет направление, может потребоваться заметное уменьшение величины для соблюдения заданной точности отображения.

Чтобы изобразить проекцию целого тела, а не отдельной кривой, используют наборы полигонов, называемые сетками. Обычно при визуализации строятся полигоны границ тела и нескольких его характерных линий (Рис. 8 .57).

Рис. 8.57 – Сетка визуализации тела.

Для повышения информативности и качества визуализации в сетку полигонов добавляют так называемые линии очерка (Рис. 8 .58). Линия очерка отделяет видимую часть поверхности или грани от невидимой (при заданной точке зрения).

Рис. 8.58 – Линии очерка поверхности.

У одной поверхности может быть несколько линий очерка. Каждая линия очерка является либо замкнутой кривой, либо ее концы лежат на краях поверхности. При этом параллельные и центральные проекции линий очерка одного и того же тела могут заметно различаться (7Рис. 8 .59).

а)

б)

в)