В данном разделе рассматривается задача вычисления вектора нормали к поверхности, которая возникает во многих задачах компьютерной графики.
Сначала вычислим нормаль к плоскости, которая определяется расположенными на ней тремя точками (рис. 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)
Рассмотрим пример (сфера)

