cubicHermiteSpline method
Implementation
Q cubicHermiteSpline(
Q outTangent1,
Q q2,
Q inTangent2,
double t,
) {
final t2 = t*t;
final t3 = t2*t;
final h00 = 2*t3 - 3*t2 + 1;
final h10 = t3 - 2*t2 + t;
final h01 = -2*t3 + 3*t2;
final h11 = t3 - t2;
Q p0 = scale(h00);
Q m0 = outTangent1.scale(h10);
Q p1 = q2.scale(h01);
Q m1 = inTangent2.scale(h11);
return p0.add(m0).add(p1).add(m1).normalize();
}