w,p.
wr(t) = X NJ'WjPj = X Nj'wjPj:
7=0
t:
i+m+1 */+1 { ~ ^i-m Arm-1
-——JV? 'wjPj =
y=/-m+l tj+m tj f \ tj+m-t t-tj
— Wy-iPy-i +- V^yPy
= X *
j=i-m+1
m-I
V^y'+m V
j-i-m
t-t,
= х
\tj+m+1 _/+!
J+in ‘y
т m-\
(
,(1)
1.68
)
y
‘y'+m *y
'=/-m+l
где введено обозначение
/,.-г
(
»y-lPy-l +
1) _ v+
m
В равенстве (1.68) использовалось то обстоятельство, что при tt
?/+i отличны от нуля только N™m(t), N™m+l(t), а также
равенства N™~x(t) = 0 и Л^гЧ/) = 0. Мы свели сумму m + 1 слагаемых к сумме m слагаемых и понизили на единицу порядок if-сплайнов в этой сумме. Продолжим упрощение числителя выражения (1.60) аналогичным образом и получи
мivr(t) = Z Nj'WjPj = Z N7wjPj = Z Лг“‘г)1) =
y'=0 j=i-m j=i-m+1
Q
= I A^"2
j=i-m+2
+m-l r(l) | f~‘j r(l)
/ _ / ^ ^
\1 j+m-\ */' *y'+m-l j
= Z Nj'~2rf)=...= £ N'j(t)r>jm) = r/m),
j=i—m+2 j=i-m+m
где введены обозначения г}0) = ылр(. г**’ = tj+m+l~k—f_r(*-1) + {—0—
7 J J J , t —t
1 j+m+\-k 1 j 1 j+m+\-k 1 j
xrj*-1* при изменении А: от 1 до т. Для знаменателя выражения (1.60) получим аналогичное выражение
w(f)^ Nfw} = X NfiVj = Z Nf-'wf =
У=0 j=i-m j-i-m+l
= Z Nf-2wf=...= Z №j(t)w^m) =w\m),
j=i-m+2 j=i-m+m
где введены обозначения м;}0> = wh w\k) = ГуЧ"|+|~*—— и/* г1* + -—— x
t —t t —t
lj+m+l-k j 1 j+m+\-k 1 j
при изменении А: от 1 до /и.
Мы пришли к выводу, что положение точки 5-кривой (1.60) для заданного параметра /, < / < /ы может быть определено по формуле
w(t)
с помощью рекуррентных соотношений
г (к) _ j+m+1-к №-1) . i - (А-1).
7 / -/ 1“‘ / -/ У ’
V+w+l-^ fy lj+m+l-k 1 у
(*)=WHw (*.1)+—^
/ — t / — t
1j+m+l-k j fj+m+l-k 1 j
начиная со значений rj0) = WjPj, w}0) = Wj. Эти соотношения являются обобщением алгоритма Де Кастелье и называются алгоритмом Де Бура. Приведем алгоритм вычисления радиуса-вектора точки 5-кривой для параметра ?, < г < tM:
г(0) ■ i-m
|
г(0)
/—/и+1
|
г(0) i-m+2 *
|
г(0) ■ • i-2
|
r(0)
г/-1
|
г(0) 1 /
|
|
r(i)
/-Л1+1
|
Г(1)
/'-m+2 *'
|
r(1)
• • г/-2
|
-0)
г/-1
|
г/0
|
|
|
Г(2)
/-m+2 •
|
Г(2) ■ ■ /-2
|
г(2)
г/-1
|
г/2)
|
_(т-2)
г/-2
|
_(т-2)
г/-1
|
_ (/я-2) /
|
|
г|-1
|
_(т-1)
/
|
|
|
г(т)
|
Вставка точки и узла ^-кривой
Число узлов и контрольных точек 5-кривой можно увеличить, сохранив неизменной ее форму и параметрическую длину. Вставим дополнительный узел v в последовательность узлов t0, tu ..., tm+n+2, кривой
(1.61).
Пусть значение и удовлетворяет условиям /min < и < tmm и не совпадает ни с одним из узлов В-кривой т-го порядка. Найдем номер i узла /, из условия tj < v < tM и построим последовательность узлов и0 = t0, vt = t, Vf = t„ vM = v, vi+2 = tM, vn+m+i = Г„+ш+2. Новая кривая должна иметь на единицу больше узлов и контрольных точек. Радиус-вектор новой кривой опишем формулой
Do'stlaringiz bilan baham: |