
5.2 Keyframe Compression 335
v[0] = one_m_u * one_m_usqr;
v[1]=u*one_m_usqr + two_m_u * expr;
v[2] = u * expr + two_m_u * halfu_sqr;
v[3] = u * halfu_sqr;
For i = 4, the v values are computed as
r = 3: v
3
= 1
r = 2: v
2
=
k
3
− u
k
3
− k
2
v
3
, v
3
=
u − k
2
k
3
− k
2
v
3
r = 1: v
1
=
k
3
− u
k
3
− k
1
v
2
, v
2
=
u − k
1
k
3
− k
1
v
2
+
k
4
− u
k
4
− k
2
v
3
, v
3
=
u − k
2
k
4
− k
2
v
3
r = 0: v
0
=
k
3
− u
k
3
− k
0
v
1
, v
1
=
u − k
0
k
3
− k
0
v
1
+
k
4
− u
k
4
− k
1
v
2
,
v
2
=
u − k
1
k
4
− k
1
v
2
+
k
5
− u
k
5
− k
2
v
3
, v
3
=
u − k
2
k
5
− k
2
v
3
Replacing each row into the one following it, and factoring out common expressions,
//q=5,i=4
u_m_one=u-1;
two_m_u=2-u;
half_u = 0.5 * u;
umone_sqr = u_m_one * u_m_one;
one_m_halfu=1-half_u;
onemhalfu_sqr = one_m_halfu * one_m_halfu; ...