домашняя библиотека
Поиск в библиотеке
Навигация по предметам
Последние добавленные новости
Реклама

Компьютерная графикаКомьютерная графика. Троицкий Д. И

8. алгоритмы визуализации: отсечения, развертки, удаления невидимых линий и поверхностей, закраски

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

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

Комьютерная графика. Троицкий Д. И

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

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

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

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

Комьютерная графика. Троицкий Д. И

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

Комьютерная графика. Троицкий Д. И

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

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

Комьютерная графика. Троицкий Д. И

(6)

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

Комьютерная графика. Троицкий Д. И

(7)

Поскольку величина h мала, можно считать, что длина хорды примерно равна длине дуги. Тогда приращение Комьютерная графика. Троицкий Д. И с учетом (7) равно

Комьютерная графика. Троицкий Д. И

(8)

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

8.1. Полигональная визуализация и линии очерка

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

Комьютерная графика. Троицкий Д. И

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

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

Комьютерная графика. Троицкий Д. И

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

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

Комьютерная графика. Троицкий Д. И

   
 
  • Добавлен: 25-01-2012, 00:22 | Просмотров: 12191

    support: admin@sdb.su