Не всегда просто найти функцию F(x, у, z), или F(P) из заданной параметрической формы. (И обратно, по заданной функции F(x, у, z) не всегда можно определить параметрическую форму.) Однако если известны и параметрическая, и неявная формы, то легко определить, описывают ли они одну и ту же поверхность. Просто подставьте в уравнение F(x, у, z) вместо х, у, z соответственно Х(и, v), Y(u, v), Z(u, v) и проверьте, равняется ли F нулю для всех интересующих нас значений параметров uviv.

Для некоторых поверхностей (например, для сферы), заключающих в себе часть пространства, важно определить внутреннюю и внешнюю области. Другие поверхности, например плоскость, несомненно, тоже разделяют трехмерное пространство на две области, однако вопрос о том, какое полупространство является внешним, а какое - внутренним, зависит от контекста приложения. Кроме того, существует много поверхностей, таких как бантик из плоской конфеты, когда мало смысла определять внешнюю и внутреннюю области.

В тех случаях, когда имеет смысл выяснять внутреннюю и внешнюю стороны поверхности, неявная форма этой поверхности F(x, у, z) носит также название «внутренне-внешней» функции (inside-outside function). Говорят, что точка (х, у, z) находится внутри поверхности, если Р(х, г/, г) < 0, на поверхности, если Р(х, у, г) = 0, вне поверхности, если Р(х, у, г) > 0.

(6.24)

Глава 6. Моделирование поверхностей полигональными сетками Данная совокупность условий обеспечивает быструю и простую проверку расположения заданной точки (х\у\ г') относительно поверхности: нужно просто вычислить Р(х/, у', г') и проверить, является эта величина положительной, отрицательной или равна нулю. Этот тест полезен в алгоритмах удаления невидимых линий и невидимых поверхностей (см. главу 13); в главе 14 он используется в алгоритмах трассировки луча. В последнее время было предпринято множество попыток визуализации поверхностей непосредственно из их неявной формы (см. [В1оотепШа1,33]).

6.5.2. Нормальный вектор к поверхности Как уже упоминалось ранее, нам требуется определять направление вектора нормали к поверхности в любой точке. В этом разделе предлагаются способы для этого: один - исходя из параметрического уравнения поверхности и другой - исходя из ее неявной формы. При дальнейшем исследовании каждого типа задания поверхности мы выведем соответствующие выражения для ее нормального вектора в любой точке.


⇐ Предыдущая| |Следующая ⇒