Game Development Reference
In-Depth Information
We can interpret the product PHt in two ways. If we group it like
P ( Ht ), then the matrix product Ht can be interpreted as Hermite basis
functions; we'll have more to say about this basis shortly. Or, we can think
about C = PH , in which case, multiplication by H can be considered
a conversion from the Hermite basis to the monomial basis, essentially a
restatement of Equations (13.13)-(13.16).
We emphasize that the adjectives “monomial,” “Hermite,” and “Bezier”
refer to different ways of describing the same set of polynomial curves; they
are not different sets of curves. We convert a curve from Hermite form
to monomial form by using Equations (13.13)-(13.16), and from monomial
form to Hermite form with Equations (13.9)-(13.12).
Let's take a closer look at the Hermite basis and hopefully gain some
geometric intuition as to why it works. Remember that we can interpret
basis functions as functions of t yielding barycentric coordinates. For cubic
Hermite curves, four values are being blended: the two positions and the
two velocity vectors. 9 Thus, we have four basis functions that are the
elements of the column result of the matrix product Ht . Expanding the
product, we have
p (t) = P ( Ht )
0
@
2
4 1
3
5
2
4 1
3
5
1
A
2
4 | | | |
3
0
−3
2
0
1
−2
1
t
t 2
t 3
5
=
p 0 v 0 v 1 p 1
|
0
0
−1
1
|
|
|
0
0
3
−2
2
4 1 − 3t 2 + 2t 3
3
5
2
4 | | | |
3
t − 2t 2 + t 3
−t 2 + t 3
3t 2 − 2t 3
5
=
p 0 v 0 v 1 p 1
|
.
|
|
|
Next, we name these basis functions (the rows of Ht ) as H 0 (t)...H 3 (t)
(you may see these same functions indexed with different subscripts in
other sources):
H 0 (t) = 1 − 3t 2 + 2t 3 ,
H 1 (t) = t − 2t 2 + t 3 ,
H 2 (t) = −t 2 + t 3 ,
H 3 (t) = 3t 2 − 2t 3 .
The cubic Hermite basis
functions
9 If you're one of those purists who objects to the idea of “blending” points with
vectors (see Section 2.4), don't worry. It's possible to interpret the equations such that
the offensive comingling does not occur.
Search WWH ::




Custom Search