ВУЗ:
Составители:
ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ, часть 1 59
()
[]
xx
CRx 0,1,0,00
1
'
== ,
()
[]
xx
CRx 0,1,2,31
4
'
== . Отсюда получаем векторно-матричное
уравнение:
x
x
x
x
x
C
R
R
P
P
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
=
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
0123
0100
1111
1000
4
1
4
1
.
Эта система решается относительно
x
C нахождением обратной
матрицы размером 44 × .
hxh
x
x
x
x
x
GM
R
R
P
P
C =
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
−−−
−
=
4
1
4
1
0001
0100
1233
1122
.
Здесь
h
M - эрмитова матрица,
h
G - геометрический вектор Эрмита.
Подставим выражение
x
C для нахождения
(
)
tx :
(
)
hxh
GTMtx
=
. Аналогично
для остальных координат:
()
hyh
GTMty
=
,
(
)
hzh
GTMtz
=
.
Выпишем в явном виде формулы для вычисления координат точек
сплайна. Так как
(
)
(
)
(
)
(
)
[
]
23232323
,2,32,132 tttttttttTM
h
−+−+−+−= , то
умножая справа на
hx
G , получаем:
()
==
hxh
GTMtx
(
)
(
)
(
)
(
)
23
4
23
1
23
4
23
1
232132 ttRtttRttPttP
xxxx
−++−++−++−= .
Четыре функции в скобках называются функциями сопряжения.
Форму кривой, заданной в форме Эрмита, легко изменять если
учитывать, что направление вектора касательной задает начальное
направление, а модуль вектора касательной задает степень вытянутости
кривой в направлении этого вектора, как показано на рис. 41.
ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ, часть 1 59
x ' (0 ) = R1x = [0,0,1,0]C x ,
x ' (1) = R4 x = [3,2,1,0]C x . Отсюда получаем векторно-матричное
уравнение:
⎡ P1x ⎤ ⎡0 0 0 1⎤
⎢ P ⎥ ⎢1 1 1 1⎥
⎢ 4x ⎥ = ⎢ ⎥C .
⎢ R1x ⎥ ⎢0 0 1 0⎥ x
⎢ ⎥ ⎢ ⎥
⎣ R4 x ⎦ ⎣3 2 1 0⎦
Эта система решается относительно C x нахождением обратной
матрицы размером 4 × 4 .
⎡ 2 −2 1 1 ⎤ ⎡ P1x ⎤
⎢− 3 3 − 2 − 1⎥ ⎢ P ⎥
Cx = ⎢ ⎥ ⎢ 4 x ⎥ = M h Ghx .
⎢0 0 1 0 ⎥ ⎢ R1x ⎥
⎢ ⎥⎢ ⎥
⎣1 0 0 0 ⎦ ⎣ R4 x ⎦
Здесь M h - эрмитова матрица, Gh - геометрический вектор Эрмита.
Подставим выражение C x для нахождения x(t ) : x(t ) = TM h Ghx . Аналогично
для остальных координат: y (t ) = TM h Ghy , z (t ) = TM h Ghz .
Выпишем в явном виде формулы для вычисления координат точек
[( )( )( )(
сплайна. Так как TM h = 2t 3 − 3t 2 + 1 , − 2t 3 + 3t 2 , t 3 − 2t 2 + t , t 3 − t 2 , то )]
умножая справа на Ghx , получаем:
x(t ) = TM h Ghx =
( ) ( ) ( ) ( )
= P1x 2t 3 − 3t 2 + 1 + P4 x − 2t 3 + 3t 2 + R1x t 3 − 2t 2 + t + R4 x t 3 − t 2 .
Четыре функции в скобках называются функциями сопряжения.
Форму кривой, заданной в форме Эрмита, легко изменять если
учитывать, что направление вектора касательной задает начальное
направление, а модуль вектора касательной задает степень вытянутости
кривой в направлении этого вектора, как показано на рис. 41.
