Curve.CalculateBezierDerivative C# (CSharp) Method

CalculateBezierDerivative() public static method

public static CalculateBezierDerivative ( Vector3 p0, Vector3 p1, Vector3 cp0, Vector3 cp1, float t ) : Vector3
p0 Vector3
p1 Vector3
cp0 Vector3
cp1 Vector3
t float
return Vector3
    public static Vector3 CalculateBezierDerivative(Vector3 p0, Vector3 p1, Vector3 cp0, Vector3 cp1, float t)
    {
        float oneMinusT = 1f - t;
        return 3f * oneMinusT * oneMinusT * (cp0 - p0) + 6f * oneMinusT * t * (cp1 - cp0) + 3f * t * t * (p1 - cp1);
    }

Usage Example

示例#1
0
 Vector2 GetDerivative(LinePoint p0, LinePoint p1, float t)
 {
     if (p0.isNextCurve || p1.isPrvCurve)
     {
         return(Curve.CalculateBezierDerivative(p0.point, p1.point, p0.nextCurvePoint, p1.prvCurvePoint, t));
     }
     return((p1.point - p0.point).normalized);
 }