Параметрическое задание поверхности
Класс трёхмерных параметрических поверхностей определяется функцией [math]\displaystyle{ F(t_1,\ldots,t_k):\mathbb{M}\to\mathbb{R}^3 }[/math], зависящей от [math]\displaystyle{ k }[/math] параметров и отображающей некоторое связное множество [math]\displaystyle{ \mathbb{M} }[/math] из n-мерного пространства в трёхмерное пространство таким образом, что это отображение является поверхностью. Эта функция [math]\displaystyle{ F }[/math] задаёт класс поверхностей, а набор [math]\displaystyle{ k }[/math] параметров — конкретную поверхность из этого класса.
Наиболее практичным является случай, когда множество [math]\displaystyle{ \mathbb{M} }[/math] является единичным квадратом в двумерном пространстве. В этом случае параметрическую поверхность можно описать так:
- [math]\displaystyle{ (x,y,z) = F(u,v) }[/math] или [math]\displaystyle{ \left\{ \begin{array}{ccc} x &=& X(u,v) \\ y &=& Y(u,v) \\ z &=& Z(u,v) \end{array}\right. }[/math], где [math]\displaystyle{ (u,v)\in[0,1]^2 }[/math]
Параметрические поверхности широко используются в прикладной геометрии и компьютерной графике для представления сложных поверхностей. Параметризация делает такие поверхности удобными для обработки и отображения.
Примеры
- ПлоскостьТочка [math]\displaystyle{ \vec{O} }[/math] и базис из двух неколлинеарных векторов [math]\displaystyle{ \vec{l}_1,\vec{l}_2 }[/math] в трёхмерном пространстве определяет плоскость и отображение на неё двумерной декартовой системы координат. Тем самым определяется [math]\displaystyle{ uv }[/math]-параметризация плоскости ([math]\displaystyle{ u }[/math] и [math]\displaystyle{ v }[/math] — параметры):
- [math]\displaystyle{ (x,y)=\vec{O}+u\vec{l}_1+v\vec{l}_2 }[/math]
- Плоский N-угольник. В общем случае параметризацию в N-угольнике можно ввести, используя систему барицентрических координат.
- Треугольник Этот важнейший частный случай N-угольника заслуживает особого внимания. Наиболее распространённый способ параметризации треугольника — линейное отображение на него треугольника из [math]\displaystyle{ uv }[/math]-пространства.
- Сфера Для параметризации сферы удобнее всего использовать одноимённую систему координат:
- [math]\displaystyle{ \left\{\begin{array}{ccc} x &=& \rho\cos\varphi\cos\theta \\ y &=& \rho\cos\varphi\sin\theta \\ z &=& \rho\sin\varphi\end{array}\right.,\quad \varphi\in\left[-\frac{\pi}{2},\frac{\pi}{2}\right],\;\theta\in[0,2\pi) }[/math].
- Боковая поверхность бесконечного кругового цилиндра. Вполне естественно использовать цилиндрическую систему координат:
- [math]\displaystyle{ \left\{\begin{array}{ccc} x &=& \rho\cos\varphi \\ y &=& \rho\sin\varphi \\ z &=& z\end{array}\right.,\quad \varphi\in[0,2\pi),z \in(-\infty,+\infty) }[/math].
- Билинейный интерполяционный четырёхугольник. Упорядоченный набор из 4-х точек в пространстве [math]\displaystyle{ P_1,\ldots,P_4 }[/math] определяет билинейную интерполяционную поверхность и задаёт отображение на неё квадрата [math]\displaystyle{ u,v\in[0,1] }[/math]:
- [math]\displaystyle{ (x,y)=P_1uv+P_2(1-u)v+P_3u(1-v)+P_4(1-u)(1-v) }[/math]
- Эта поверхность является гладкой, однако невозможность задавать произвольные касательные на её границе делает её практически неприменимой в качестве патчей
- Поверхность Безье. На практике применяется в основном два вида поверхностей Безье: бикубическая 3-го порядка — четырёхугольник, определяемый 16-ю точками, и барицентрическая 3-го порядка — треугольник, определяемый 10 точками. Барицентрическая система координат в треугольнике содержит 3 числа, поэтому она не всегда удобна.
- Граница поверхности Безье состоит из кривых Безье. Точки, определяющие поверхность, определяют также кривые её границы, включая нормали на них. Это позволяет создавать гладкие составные поверхности, то есть использовать поверхности Безье в качестве патчей
- Рациональная поверхность Безье отличается тем, что каждой точке в её определении назначен некоторый «вес», определяющий степень её влияния на форму поверхности.
- B-сплайновая поверхность. На практике обычно применяются бикубические B-сплайновые поверхности. Как и поверхности Безье, они определяются 16 точками, однако в общем случае не проходят через эти точки. Однако B-сплайны удобно использовать в качестве патчей, так как они хорошо стыкуются друг с другом при использовании общей сетки вершин, а сами вершины позволяют явным образом задавать нормали и касательные на границах патчей.
- При необходимости более гибкого управления формой поверхности применяют рациональные B-сплайны, неоднородные B-сплайны, а также комбинированный вариант — неоднородные рациональные B-сплайны (NURBS).
Свойства
Пусть [math]\displaystyle{ \frac{D(x,y)}{D(u,v)}=\begin{vmatrix}X'_u & X'_v \\ Y'_u & Y'_v \end{vmatrix},\quad\frac{D(y,z)}{D(u,v)}=\begin{vmatrix}Y'_u & Y'_v \\ Z'_u & Z'_v \end{vmatrix},\quad\frac{D(z,x)}{D(u,v)}=\begin{vmatrix}Z'_u & Z'_v \\ X'_u & X'_v \end{vmatrix} }[/math]. Тогда:
- Нормаль в точке поверхности определяется выражением:
- [math]\displaystyle{ \frac{\left(\frac{D(y,z)}{D(u,v)};\,\frac{D(z,x)}{D(u,v)};\,\frac{D(x,y)}{D(u,v)}\right)}{\sqrt{\left(\frac{D(x,y)}{D(u,v)}\right)^2+\left(\frac{D(y,z)}{D(u,v)}\right)^2+\left(\frac{D(z,x)}{D(u,v)}\right)^2}} }[/math]
- Касательная плоскость в заданной точке может быть описана уравнением:
- [math]\displaystyle{ \frac{D(y,z)}{D(u,v)}_{u_0,v_0}(x-x_0)+\frac{D(z,x)}{D(u,v)}_{u_0,v_0}(y-y_0)+\frac{D(x,y)}{D(u,v)}_{u_0,v_0}(z-z_0)=0 }[/math]
- Площадь параметрически заданной поверхности рассчитывается по формулам:
- [math]\displaystyle{ \iint\,\sqrt{\left(\frac{D(x,y)}{D(u,v)}\right)^2+\left(\frac{D(y,z)}{D(u,v)}\right)^2+\left(\frac{D(z,x)}{D(u,v)}\right)^2}\;\mathrm{d}u\,\mathrm{d}v }[/math]
- или
- [math]\displaystyle{ \iint\,\left|[\dot{r}_u\times\dot{r}_v]\right|\;\mathrm{d}\,u\;\mathrm{d}\,v }[/math], где [math]\displaystyle{ \dot{r}_u=\left(\frac{\partial x}{\partial u},\,\frac{\partial y}{\partial u},\,\frac{\partial z}{\partial u}\right), \quad \dot{r}_v=\left(\frac{\partial x}{\partial v},\,\frac{\partial y}{\partial v},\,\frac{\partial z}{\partial v}\right) }[/math]
Литература
- Ильин В. А., Позняк Э. Г. Аналитическая геометрия. — М.: ФИЗМАТЛИТ, 2002. — 240 с.
- Кудрявцев Л. Д. Курс математического анализа. — М.: Дрофа. — 570 с.
- Роджерс Д., Адамс Дж. Математические основы машинной графики. — М.: Мир, 2001. — ISBN 5-03-002143-4.