Параметричне завдання поверхні

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Клас тривимірних параметричних поверхонь визначається функцією F(t_1, \ldots,t_k)\colon \mathbb{M}\to \mathbb{R}^3, що залежить від k параметрів та відображає деякий зв'язаний простір \mathbb{M} з n-мірного простору в тривимірний простір таким чином, що це відображення є поверхнею. Ця функція F задає клас поверхонь, а набір k параметрів — конкретну поверхню з цього класу.

Найбільш практичним є випадок, коли множина \mathbb{M} є одиничним квадратом в двовимірному просторі. У цьому випадку параметричну поверхню можна описати так:

(x,y,z) = F(u,v) чи \left\{ \begin{array}{ccc} 
x &=& X(u,v) \\
y &=& Y(u,v) \\
z &=& Z(u,v)
\end{array}\right.\quad , де (u,v)\in[0,1]

Параметричні поверхні широко використовуються в прикладній геометрії та комп'ютерній графіці для представлення складних поверхонь. Коли поверхня параметризована, то її зручно обробляти та відображати.

Параметризація найпростіших поверхонь[ред.ред. код]

Точка \vec{O} та базис з двох неколінеарних векторів \vec{l}_1, \vec{l}_2 в тривимірному просторі визначає площину та відображення на неї двовимірної декартової системи координат. Тим самим визначається uv-параметризація площини (u і v — параметри) :

 (x,y) =\vec{O}+u\vec{l}_1+v\vec{l}_2
  • Плоский N-кутник

Загалом параметризацію в N-кутнику можна ввести використовуючи систему барицентричних координат.

Цей найважливіший окремий випадок N-кутника заслуговує особливої ​​уваги. Найбільш поширений спосіб параметризації трикутника — лінійне відображення на нього трикутника з uv-простору.

Для параметризації сфери найзручніше використовувати однойменну систему координат:

\left\{\begin{array}{ccl} 
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).

Цілком природно використовувати циліндричну систему координат:

\left\{ \begin{array}{ccc} 
x &=& \rho \cos \varphi \\  
y &=& \rho \sin \varphi \\ 
z &=& h 
\end{array}\right., \quad \varphi\in[0,2\pi) .

Криві поверхні[ред.ред. код]

Впорядкований набір з 4-х точок у просторі P_1, \ldots,P_4 визначає білінійну інтерполяційну поверхню і задає відображення на неї квадрата u,v\in[0,1]:

 (x,y) =P_1uv+P_2 (1-u) v+P_3u(1-v) +P_4 (1-u) (1-v)

Ця поверхня є гладкою, проте неможливість задавати довільні дотичні на її кордоні робить її практично непридатною в якості патчів

На практиці застосовується переважно два види поверхонь Безьє: бікубічна 3-го порядку — чотирикутник, який визначається 16-ю точками, і барицентрична 3-го порядку — трикутник, який визначається 10 точками. барицентрична система координат у трикутнику містить 3 числа, тому вона не завжди зручна.

Кордон поверхні Безьє складається з кривих Безьє. Точки, що визначають поверхню, визначають також криві її кордони, включаючи нормалі на них. Це дозволяє створювати гладкі складові поверхні , тобто використовувати поверхні Безьє в якості патчів

Раціональна поверхню Безьє відрізняється тим, що кожній точці в її визначенні призначений деякий «вагу», що визначає ступінь її впливу на форму поверхні.

На практиці зазвичай застосовуються Бікубічна B-сплайнів поверхні . Як і поверхні Безьє , вони визначаються 16-ю точками, проте в загальному випадку не проходять через ці точки. Однак B-сплайни зручно використовувати в якості патчів, оскільки вони добре стикуються один з одним при використанні загальної сітки вершин, а самі вершини дозволяють явним чином задавати нормалі та дотичні на кордонах патчів.

За необхідності більш гнучкого керування формою поверхні застосовують раціональні B-сплайни, неоднорідні B-сплайни , а також комбінований варіант — неоднорідні раціональні B-сплайни (NURBS).

Властивості параметричних поверхонь[ред.ред. код]

Нехай \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}. Тоді:

  • Нормаль у точці поверхні визначається виразом:
\frac{\left(\frac{D(x,y) }{D(u,v) };\, \frac{D(y,z) }{D(u,v) };\, \frac{D(z,x) }{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}}
\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
  • Площа параметрично заданої поверхні розраховується за формулами:
\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

Або

\iint\, \left|[\dot{r}_u\times\dot{r}_v]\right|\; \mathrm{d}\, u \; \mathrm{d}\,v, де \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)

Література[ред.ред. код]

  • Ільїн В. А., Позняк Е. Г. {{{Заголовок}}}. — М.: ФИЗМАТЛИТ, 2002. — 240 с.
  • Кудрявцев Л. Д. {{{Заголовок}}}. — М.: Дрофа. — 570 с.
  • Роджерс Д., Адамс Дж. {{{Заголовок}}}. — 2-е, перераб. та доп.. — М.: Світ, 2001. — ISBN 5-03-002143-4.