cubic and quadratic bezier helper
        /// <summary>
        /// gets the velocity (first derivative) of the bezier at time t
        /// </summary>
        /// <returns>The velocity at time.</returns>
        /// <param name="t">T.</param>
        public Vector2 getVelocityAtTime(float t)
        {
            var i = pointIndexAtTime(ref t);

            return(Bezier.getFirstDerivative(_points.buffer[i], _points.buffer[i + 1], _points.buffer[i + 2], _points.buffer[i + 3], t));
        }
        /// <summary>
        /// gets the point on the bezier at time t
        /// </summary>
        /// <returns>The point at time.</returns>
        /// <param name="t">T.</param>
        public Vector2 getPointAtTime(float t)
        {
            var i = pointIndexAtTime(ref t);

            return(Bezier.getPoint(_points.buffer[i], _points.buffer[i + 1], _points.buffer[i + 2], _points.buffer[i + 3], t));
        }