ВУЗ:
Составители:
ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ, часть 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.