Вычисление нормали к поверхности

В данном разделе рассматривается задача вычисления вектора нормали к поверхности, которая возникает во многих задачах компьютерной графики.

Сначала вычислим нормаль к плоскости, которая определяется расположенными на ней тремя точками (рис. 7.6).

Рис. 7.6 Рис. 7.7

Пусть точки ,и лежат в одной плоскости.

Образуем вектора

и .

Тогда вектор нормали к плоскости можно вычислить как векторное произведение векторов и

(7.44)

Выражение (44) используется для вычисления координат вектора нормали в случае описания поверхности векторно – полигональной моделью (см. ниже).

Рассмотрим теперь произвольную поверхность, заданную в явном виде функцией

(7.45)

При таком задании поверхности вектор нормали будет имеет вид []

, (7.46)

где , , – координаты вектора нормали.

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

, (7.47)

где – модуль вектора нормали, , , – координаты вектора единичной нормали.

Пусть теперь поверхность задана неявно уравнением

. (7.48)

При неявном определении поверхности вектор нормали примет вид []

(7.49)

где , , – координаты вектора нормали,

(7.50)

– градиент функции .

Единичный же вектор нормали в этом случае

, (7.51)

где

– (7.52)

модуль градиента функции , , , – координаты вектора единичной нормали.

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

, (7.53)

Аналогично для поверхности . В этом случае вместо (49) для вычисления вектора нормали следует воспользоваться выражением

(7.54)

Соответственно выражение для вектора единичной нормали будет иметь вид

(7.55)

Рассмотрим пример (сфера)

Пусть теперь поверхность задана параметрически:

(7.56)

Тогда вектор нормали к поверхности имеет вид []:

, (7.57)

где

, , (7.58)

Рассмотрим пример (сфера)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: