C.3. Алгоритмы интерполяции 221
Определение 89 (гладкость сопряжения сегментов) Пусть кривая p(u) про-
ходит через три точки опорного ансамбля: A, B и C. С точки зрения эрмитовой
интерполяции мы можем рассматривать ее как состоящую из двух сегментов: AB
и BC.
1. Если вектор финиша сегмента AB не параллелен вектору старта сегмента
BC, то сопряжение сегментов не является гладким.
2. Если вектор финиша сегмента AB сонаправлен вектору старта сегмента
BC, то сопряжение сегментов называется геометрически гладким.
3. Если же вектор финиша сегмента AB в точности равен вектору старта сег-
мента BC, то сопряжение сегментов называется параметрически гладким.
Отметим, что с точки зрения точной интерполяции вопрос о гладкости сопря-
жения сегментов вообще не встает: она подразумевается как данность. Но если
опорный ансамбль состоит из достаточно большого числа точек, то точная интер-
поляция приводит к огромному числу вычислений. Эрмитов же алгоритм позво-
ляет рассматривать двухточечные ансамбли как отдельные сегменты и сопрягать
их с любой гладкостью при помощи одних и тех же действий.
Пример 167 Пусть требуется провести кривую через три точки данного опор-
ного ансамбля A
1
(1, 1), A
2
(3, 1), A
3
(5, 1) так, чтобы кривая начиналась в точке A
1
в направлении вектора v
1
=(0, 1), проходила через точку A
2
в направлении век-
тора v
2
=(0, −1) и заканчивалась в точке A
3
в направлении вектора v
3
=(1, 0).
Фактически, нам придется решить дважды задачу об эрмитовой интерполяции
ансамбля из двух точек:
1. для точек A
1
(1, 1) и A
2
(3, 1) с направлениями v
1
=(0, 1) и v
2
=(0, −1),
2. для точек A
2
(3, 1) и A
3
(5, 1) с направлениями v
2
=(0, −1) и v
2
=(1, 0).
Приступим к решению первой задачи. Будем искать эрмитову интерполяционную
кривую p(u) в виде кубической параметризации:
p(u)=
a
10
+ a
11
u + a
12
u
2
+ a
13
u
3
a
20
+ a
21
u + a
22
u
2
+ a
23
u
3
,
где коэффициенты координатных полиномов вычисляются матричным умноже-
нием:
a
10
a
11
a
12
a
13
=
1000
0010
−33− 2 −1
2 −211
1
3
0
0
=
1
0
6
0
для первого координатного полинома и, аналогично, для второго:
a
20
a
21
a
22
a
23
=
1000
0010
−33− 2 −1
2 −211
1
1
1
−1
=
1
1
−1
0
.
Таким образом, интересующая нас параметризация найдена:
p(u)=
1+6u
2
− 4u
3
1+u −u
2
.
Выполним проверку. Должно выполняться четыре условия: два условия прохож-
дения кривой через ансамбль, и два условия направления прохождения.
p(0) =
1
1
= A
1
,p(1) =
1+6− 4
1+1− 1
=
3
1
= A
2
.