Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комп_Граф / КГ_курс лекций.doc
Скачиваний:
191
Добавлен:
08.06.2015
Размер:
1.31 Mб
Скачать

4.9. Ориентация и потенциальная видимость поверхностей

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

Формально стороны поверхности можно различать по направлению нормального вектора к ней. Для определенности примем правило, согласно которому внешней стороной поверхности геометрического тела будет считаться та, со стороны которой располагаются нормальные векторы к поверхности, рассчитанные аналитически. Выше уже говорилось, что для поверхности с уравнением F(x, y, z) = 0 нормальный вектор в любой ее точке находится как .

Чтобы лучше понять важность принятого правила, рассмотрим следующий пример. Пусть задана сферическая поверхность с уравнением x2 + y2 + z2R2 = 0 (рис. 4.11). Из уравнения следует, что нормальный вектор к этой поверхности будет N = (2x, 2y, 2z). Возьмем на поверхности точку с координатами (0, 0, -R). Для нее N = (0, 0, -2R), т.е. нормальный вектор располагается вне шара, ограниченного сферой. Это же справедливо и для всех остальных точек сферы. Следовательно, внешняя сторона рассматриваемой сферы ограничивает шар радиусом R с центром в начале координат.

Для той же сферы, но с уравнением -x2y2z2 + R2 = 0, нормальный вектор находится как N = (-2x, -2y, -2z). В данном случае в соответствии с принятым правилом нормальные векторы к поверхности будут направлены к ее центру (см. рис. 4.11), поэтому поверхность будет границей сплошного бесконечного тела со сферической пустотой.

Рис. 4.11

Не все элементы внешней стороны поверхности геометрического тела представляются на проекции, поскольку обычно потенциально видима только часть внешней стороны поверхности. Термин «потенциальная видимость» означает, что точка поверхности будет видима на изображении, если она не загораживается другими поверхностями.

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

Имея в виду, что при ортогональном проецировании на плоскость OXY линии проецирования параллельны оси 0Z, а сама ось направлена от наблюдателя, условием потенциальной видимости точки (x, y, z) поверхности будет отрицательное значение составляющей nz нормального вектора N, т. е.

(4.36)

Рис. 4.12

Нормальный вектор можно найти и к регулярной параметрической поверхности . Для любых заданных u и v он вычисляется как

(4.37)

где частные производные рассчитываются по формулам

Но, как уже отмечалось выше, при визуализации криволинейные поверхности аппроксимируются плоскими треугольниками, поэтому анализ потенциальной видимости элементов криволинейной поверхности сводится к анализу потенциальной видимости треугольников, на которые она заменяется.

Рассмотрим один из треугольников, аппроксимирующих криволинейную поверхность (рис. 4.13). Обозначим его вершины как P1, P2, P3. Уравнение плоскости, проходящей через три точки P1 = (x1, y1, z1), P2 = (x2, y2, z2), P3 = (x3, y3, z3), имеет следующий вид:

(4.38)

Рис. 4.13

Очевидно, что для всей плоскости, включая и треугольник P1 P2 P3, производная равна коэффициенту при z, т.е.

(4.39)

Отсюда в соответствии с (4.32) условием потенциальной видимости треугольника будет следующее:

(4.40)

Порядок расположения координат точек в определителе соответствует обходу вершин треугольника, показанному на рис. 4.13. Если его поменять на противоположный, то это приведет к перестановке строк в определителе и, следовательно, к изменению его знака на противоположный. Следовательно порядок обхода вершин (по часовой стрелке или против) должен быть единым для всех треугольников. Для криволинейной поверхности он в целом определяет ее внешнюю и внутреннюю стороны.

В некоторых случаях необходимо визуализировать поверхности как самостоятельные объекты. Если при этом надо показывать обе стороны поверхности, то понятие потенциальной видимости теряет смысл.

Соседние файлы в папке Комп_Граф