Информационные технологии в САПР. Вычислительные сети и компьютерная графика. Васильев С.А - 34 стр.

UptoLike

Рис. 9.2. Кривая по четырём точкам
Рассмотрим более обобщённый случай. Пусть заданы точки:
b
0
,
b
1
, …,
b
m
из
E
3
и
t
действительный параметр. Тогда кри-
вая Безье
b
n
имеет вид [28]
=
=
m
i
i
imii
m
bttCtb
0
)1()(
,
где 0
t
1;
)!(!
!
imi
m
C
i
m
=
число сочетаний из
m
по
i.
Необходимо заметить, что данная кривая только в начальной (
b
0
)
и конечной
b
m
опорной точке интерполирует исходные
данные. Промежуточные точки кривая Безье аппроксимирует.
Широкое применение в компьютерной графике нашли себя параметрические кубические кривые. Такие кривые могут
отобразить любые исходные данные. Например, параметрическими кубическими кривыми очень просто можно описать
замкнутые или самопересекающиеся кривые или, например, когда у разных точек набора совпадают абсциссы.
Пусть
t
независимый параметр, такой что
10
t
. Кубическим параметрическим сплайном назовём следующую
систему уравнений:
(
)
( )
( )
+++=
+++=
+++=
.
;
;
23
23
23
zzzz
yyyy
xxxx
dtctbtatz
dtctbtaty
dtctbtatx
Координаты точек на кривой описываются вектором
(
)
)(),(,)( tztytx
, а три производные задают координаты соответст-
вующего касательного вектора в точке. Например, для координаты
x
:
xxx
ctbta
dt
dx
++= 23
2
.
Одним из способов задания параметрического кубического сплайна является указание координат начальной и конечной
точек, а также векторов касательных в них. Такой способ задания называется формой Эрмита [21]. Обозначим концевые точки
1
P
и
4
P
, а касательные векторы в них
1
R
и
4
R
. Индексы выбраны таким образом с учётом дальнейшего изложения.
Будем решать задачу нахождения четвёрки коэффициентов
xxxx
dcba ,,,
, так как для оставшихся двух уравнений коэф-
фициенты находятся аналогично. Запишем условие для построения сплайна:
(
)
x
Px
1
0 =
,
(
)
x
Px
4
1 =
,
(
)
x
Rx
1
0 =
,
(
)
x
Rx
4
1 =
. (9.1)
Перепишем выражение для
x
в векторном виде:
[
]
1,,,)(
23
ttttx =
x
d
c
b
a
.
Обозначим вектор строку
[
]
1,,,
23
tttT
=
и вектор столбец коэффициентов
=
x
C
x
d
c
b
a
, тогда
x
TCtx =)(
.
Из (9.1) следует, что
[
]
xx
CPx 1,0,0,0)0(
1
==
,
[
]
xx
CPx 1,1,1,1)1(
4
==
.
Для касательных
[
]
x
Ctttx 0,1,2,3)(
2
=
,
[
]
xx
CRx 0,1,0,0)0(
1
==
,
[
]
xx
CRx 0,1,2,3)1(
4
==
.
Отсюда
получаем
векторно
-
матричное
уравнение
x
x
x
x
x
C
R
R
P
P
=
0123
0100
1111
1000
4
1
4
1
.
Эта
система
решается
относительно
x
C
нахождением
обратной
матрицы
размером
4
4
×
: