public void SampleDerivs(Vector3[] results, float u0 = 0f, float u1 = 1f) { var p0 = begin.position; var p1 = control1.position; var p2 = control2.position; var p3 = end.position; int len = results.Length; var u = u0; var du = (u1 - u0) / len; for (int i = 0; i < len; ++i) { u += du; results[i] = Curves.CubicBezierDeriv(p0, p1, p2, p3, u); } }
public Vector3 DerivAt(float u) { return(Curves.CubicBezierDeriv(begin.position, control1.position, control2.position, end.position, u)); }