Поверхность Безье, построенную на семействе кривых c,(w), / = 0, 1, ..., п, опишем векторной функцией
п
£/?,"(vK(w)c,(w)
г
1=0
(2.20)
(ы, и)
=
/=о
где В "(и) — функции Бернштейна (1.17).
В общем случае каждая кривая с,(и) семейства имеет свой вес м/,(м), представляющий собой скалярную функцию параметра соответствующей кривой. Каждая линия поверхности при и = const является рациональной кривой Безье. В частном случае, когда все кривые семейства имеют не зависящие от параметра одинаковые веса, радиус-вектор поверхности Безье на семействе кривых вычислим по формуле
г
(2.21)
(м, и) = '£ВГ(и)с1(и),
В отличие от других поверхностей, построенных на семействе кривых, поверхность (2.20) не проходит по кривым семейства
.На семействе кривых построим поверхность аналогично построению в-кривой по семейству точек. Для этого в (1.60) вместо контрольных точек подставим кривые семейства.
В-поверхность, построенную на семействе кривых сДм), /' = 0, 1, ..., п, опишем векторной функцией
£ Nj m(u)Wj(u)cj(u) г (u,v) = ^-n , (2.22)
JjNjm{v)Wj(u)
j= 0
где Nj”(v) — 5-сплайны (1.44) w-го порядка; и/,-(и) — функции веса кривой с Дм) семейства. Каждый 5-сплайн IV/"(и) построен на неубывающей последовательности из от + 2 узлов Uj, vJ+h ..., vj+m+].
Для построения совокупности п + 1 5-сплайнов т-го порядка незамкнутой по второму параметру 5-поверхности требуется п + т + 2 узлов Vj,
= 0, 1, ..., п + т + 1. Для построения совокупности п + 1 5-сплайнов т-го порядка циклически замкнутой по второму параметру 5-поверхности требуется п + 2т + 2 узлов Vj, i = ОД, ..., п + 2т + 1. Последовательность узлов второго параметра поверхности строится аналогично последовательности узлов 5-кривой (1.60). Второй параметр 5-поверхности изменяется от значения узла г;т|П = ит до значения узла г;тах = vn+m+y.
Каждая линия и = const на поверхности (2.22) является 5-кривой (1.60). На рис. 2.11 приведены 5-поверхность и семейство кривых, по которым построена поверхность.
В частном случае, когда все кривые семейства имеют не зависящие от параметра одинаковые веса, радиус-вектор 5-поверхности на семействе кривых вычислим по формуле
г(и, м) = X Njm(u)Cj(u). (2.23)
7=0
5-поверхность, построенная на семействе кривых, не проходит по кривым семейства.
Пусть дано семейство кривых с,(и), / = 0, 1,..., и, направляющая кривая g(и) и возрастающая последовательность значений параметра направляющей vb поставленная в соответствие семейству кривых. Построим поверхность г (и, и), проходящую по семейству кривых, учитывающую
поведение направляющей кривой. Пусть при значениях второго параметра, располагающихся между ut и им, поверхность представляет собой взвешенную сумму кинематических поверхностей, построенных на направляющей g(y) с образующими с,(и) и с/+1(м). В соответствии с (2.13) радиус-вектор кинематической поверхности, построенной на образующей с Дм), вычислим по формуле
гДм, и) = g(и) + М,(у) • (сДм) - g(и,)).
В соответствии с (2.14) матрицу МДу) поворота текущего подвижного базиса относительно его начального положения вычислим по формуле
МДу) = А(г;)-А-|(у,).
Поверхность, построенную на семействе кривых сДм), / = 0, 1, ..., и, и направляющей g(и), опишем векторной функцией
г (и, и) = гДм, у)(1 - Ъш2 + 2 w3) + ri+l(u,u)(3w2 - 2w3), (2.24)
• - ^ V-V. „
где индекс i найден из условия utM; w = ! местный пара-
VM~V,
метр.
На рис. 2.12 приведена поверхность на семействе из трех кривых и направляющей.
Поверхности, построенные на сетке кривых
Пусть имеется два семейства кривых: семейство кривых с,-(и), / = О, 1, 2, ..., п, ит[п < и < мтах, и семейство кривых bj(v),j = 0, 1, 2, ..., т, ymin < и < i;max (рис. 2.13). Пусть при м = Uj,j= 0, 1, 2, ..., т, каждая кривая с Дм) первого семейства пересекает каждую кривую by(i>) второго семейства при v = у„ / = 0, 1, 2, ..., п. Пусть параметры точек пересечения кривых образуют возрастающие последовательности: му < му+1 и у, < vM. Два семейства кривых, удовлетворяющие перечисленным требованиям, назовем сеткой кривых
.
П
с„(и)
с 2(и) С| (и.
Со(“'
Рис. 2.13
Ь,(у)
Рп
Рис. 2.14
ростейшей сеткой кривых являются две пары отрезков, построенных на четырех общих точках р00, р)0, р01 и рп. Пусть первое семейство образуют отрезки с0(ы) = р00( 1 - и) + ршм и С[(«) = р01(1 - и) + рпи, а второе - отрезки Ь0(у) = р00(1 - у) + р01у и b,(u) = р10( 1 - и) + р„у.
Билинейная поверхность, построенная на данной сетке кривых, определится векторной функцией
г(и,у) = (1 - ы)(1 - у) р00 + и(\ - у) р10 + (1 - u)v Poi + uv ри. (2.25)
Билинейная поверхность приведена на рис 2.14.
Поверхность (2.25) является частным случаем линейчатой поверхности (2.16), построенной на двух отрезках: с0(и) и с,(м). Билинейная поверхность является линейчатой по обоим параметрам.
Для построения билинейной поверхности достаточно знать радиусы- векторы точек Роо, Рю. Poi и Рп- Если точки р00 и рш или р|0 и рп совпадают, то получим треугольную поверхность с особой точкой.
Построим линейчатую поверхность (2.16) с приведением кривых с0(и) и C|(w) к параметрической длине О < и < 1. К векторной функции этой линейчатой поверхности прибавим и вычтем из нее векторную функцию билинейной поверхности (2.25), где р00 и р,0 — начальная и конечная точки кривой со(и), а р01 и рп — начальная и конечная точки кривой с,(м) линейчатой поверхности. В результате этих действий векторная функция не изменится, но примет вид
r(u, v) = (1 - у)с0(м) + ус,(м) +
+ (1 - И)(Роо(1 - у) + Р0|У) + и(р,о(1 - У) + РцУ) -
(1 - и)(1 - у)Роо - и(1 - у)Рю - (1 - w)yp0| - ии р„. (2.26)
В (2.26) введем обозначения для отрезков, соединяющих концы кривых с0(м) и с,(г/): Ь0(у) = р00(1 - и) + р0,у и Ь,(у) = рю(1 - у) + р„у. Если в качестве Ь0(у) и Ь,(у) использовать произвольные кривые, начинающиеся и оканчивающиеся в тех же точках, то получим поверхность Кунса. Радиус-вектор поверхности Кунса, построенной по четырем кривым с0(ы), С|(м), Ь0(у), Ь|(у), описывается функциейг (и, v) = (1 - v)c 0(м) + ус,(м) + (1 - м)Ь0(г;) + ub{(v) - - (1 - ы)( 1 - у)р00 - «(1 - и)Рю - (1 - Ро 1 - и*Фц.
П
(2.27)
оверхность Кунса приведена на рис. 2.15.
В качестве примера построим поверхность Кунса по четырем дугам одного эллипса
г (и, и) = р +
, , /1 ч 7Ш • ч KV . ТШ
+ я| l-w-i7-(l-v)cos—н-ysin — -(l-w)cos— + wsm — |i, +
, ( ч • 7Ш , 7Ш /t . . nu KV I.
-*;)sin— + ycos— + (l-«)sin «cos— i->,
l 2 2 2 2 J 2
iie[0, ll.welO, l],
где p — радиус-вектор центра; ан b — полуоси эллипса; ib i2 — базисные векторы, лежащие в плоскости эллипса (рис. 2.16).
В точках стыковки дуг эллипса частные производные радиуса-вектора поверхности по параметрам и и и параллельны.
Введем обозначения:
s(w, 0) = с „(и), s (и, 1) = с ,(м), s(0, и) = b0(y), s(l, и) = Ь,(у), s(0, 0) = р00, s(l, 0) = рю, s(0, 1) = Ро„ s(l, 1) = рп,
Цо(«0 = 1 - w, ц,(0 = w.
В результате векторная функция (2.27) примет вид
s(и, 0) s (и, 1)
Do'stlaringiz bilan baham: |