Bezier.PointOnBezier C# (CSharp) Method

PointOnBezier() public static method

public static PointOnBezier ( Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3, float t ) : Vector3
p0 Vector3
p1 Vector3
p2 Vector3
p3 Vector3
t float
return Vector3
    public static Vector3 PointOnBezier(Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3, float t)
    {
        return (1-t)*(1-t)*(1-t)*p0 + 3*t*(1-t)*(1-t)*p1 + 3*t*t*(1-t)*p2 + t*t*t*p3;
    }

Same methods

Bezier::PointOnBezier ( Vector3 p0, Vector3 p1, Vector3 p2, float t ) : Vector3

Usage Example

Esempio n. 1
0
    private Vector3 GetPointRaw(float t)
    {
        int   base_coord = (int)t * 3;
        float t_sub      = t - (int)t;

        if (t == (int)t && t != 0)
        {
            base_coord -= 3;
            t_sub       = 1;
        }

        if (base_coord + 3 >= points.Length)
        {
            return(transform.TransformPoint(points[points.Length - 1]));
        }
        if (base_coord < 0)
        {
            return(transform.TransformPoint(points[0]));
        }

        Vector3 p0 = points[base_coord];
        Vector3 p1 = points[base_coord + 1];
        Vector3 p2 = points[base_coord + 2];
        Vector3 p3 = points[base_coord + 3];

        return(Bezier.PointOnBezier(p0, p1, p2, p3, t_sub));
    }
All Usage Examples Of Bezier::PointOnBezier