public void SampleValues(Vector3[] results, float u0 = 0f, float u1 = 1f) { var p0 = begin.position; var m0 = begin.ForwardScaled(); var p1 = end.position; var m1 = end.ForwardScaled(); int len = results.Length; var u = u0; var du = (u1 - u0) / len; for (int i = 0; i < len; ++i) { u += du; results[i] = Curves.CubicHermite(p0, m0, p1, m1, u); } }
public Vector3 ValueAt(float u) { return(Curves.CubicHermite(begin.position, begin.ForwardScaled(), end.position, end.ForwardScaled(), u)); }