t=1. The important thing to remember about the Hermite basis functions is that they take the value of a function at two points and the derivatives at those two points and interpolate it. See lecture 13 for more details.
So, we know that
P(0) = 0 and
P(1) = 0. Furthermore,
P'(0) = m0 and
P'(1) = m1. Therefore, the spline
that interpolates them is:
P(t) = 0 * H0(t) + 0 * H1(t) + m0 * H2(t) + m1 * H3(t) = m0 * H2(t) + m1 * H3(t)That's it. Many people almost got this right, but thought that
P(1) = 1; this cost three points. If you wrote out the general Hermite spline formula like this:
P(t) = P0 * H0(t) + P1 * H1(t) + P'(0) * H2(t) + P'(1) * H3(t)And correctly identified the values of P0, P1, P'(0), and P'(1), you lost one point for not simplifying it down taking into account the zero terms. If you associated the wrong basis functions with the wrong input values, you lost three to five points, depending on how many of them you got wrong.
Many people didn't remember the above-mentioned properties of Hermite splines and tried to work out the actual polynomial. Most of these folks started writing out the Hermite basis matrix (those of you who remembered it correctly are out of control) and deriving the polynomial. For the record, the correct polynomial is:
P(t) = (m0 + m1) * t^3 - (2 * m0 + m1) * t^2 + m0 * tGetting that right was worth full credit and the respect of your TA. Slight errors in remembering the matrix were just -1 point, more egregious matrix errors were -5 or more, depending on whether it looked like you had the right idea but forgot the details or whether you seemed to be just writing out something similar to the correct matrix to try to get a few points.
f(t). However right or wrong your answer in the first part of the quesion was, making sounds along these lines was worth about three points.
The other thing to realize was that if we want the derivatives of this
function to match up with the derivatives we're given (m0, m1/2, m1, etc.),
we need to divide the function by two. (By the chain rule, what is the
f(2t), etc...) Given that, the correct answer is
For t between 0 and .5, compute:
P(t) = .5 * m0 * H2(2t) + .5 * m1/2 * H3(t)Similarly for other values of t. (e.g. t between .5 and 1, compute
f(2t - 1), etc.)
Forgetting to scale by 1/2 was -2 points. Other creative but incorrect solutions could get partial credit, depending on how reasonable they were.