Package com.badlogic.gdx.math
Class Bezier<T extends Vector<T>>
- java.lang.Object
-
- com.badlogic.gdx.math.Bezier<T>
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description floatapproximate(T v)floatapproxLength(int samples)static <T extends Vector<T>>
Tcubic(T out, float t, T p0, T p1, T p2, T p3, T tmp)Cubic Bezier curvestatic <T extends Vector<T>>
Tcubic_derivative(T out, float t, T p0, T p1, T p2, T p3, T tmp)Cubic Bezier curve derivativeTderivativeAt(T out, float t)static <T extends Vector<T>>
Tlinear(T out, float t, T p0, T p1, T tmp)Simple linear interpolationstatic <T extends Vector<T>>
Tlinear_derivative(T out, float t, T p0, T p1, T tmp)Simple linear interpolation derivativefloatlocate(T v)static <T extends Vector<T>>
Tquadratic(T out, float t, T p0, T p1, T p2, T tmp)Quadratic Bezier curvestatic <T extends Vector<T>>
Tquadratic_derivative(T out, float t, T p0, T p1, T p2, T tmp)Quadratic Bezier curve derivativeBezierset(Array<T> points, int offset, int length)Bezierset(T... points)Bezierset(T[] points, int offset, int length)TvalueAt(T out, float t)
-
-
-
Method Detail
-
linear
public static <T extends Vector<T>> T linear(T out, float t, T p0, T p1, T tmp)
Simple linear interpolation- Parameters:
out- TheVectorto set to the result.t- The location (ranging 0..1) on the line.p0- The start point.p1- The end point.tmp- A temporary vector to be used by the calculation.- Returns:
- The value specified by out for chaining
-
linear_derivative
public static <T extends Vector<T>> T linear_derivative(T out, float t, T p0, T p1, T tmp)
Simple linear interpolation derivative- Parameters:
out- TheVectorto set to the result.t- The location (ranging 0..1) on the line.p0- The start point.p1- The end point.tmp- A temporary vector to be used by the calculation.- Returns:
- The value specified by out for chaining
-
quadratic
public static <T extends Vector<T>> T quadratic(T out, float t, T p0, T p1, T p2, T tmp)
Quadratic Bezier curve- Parameters:
out- TheVectorto set to the result.t- The location (ranging 0..1) on the curve.p0- The first bezier point.p1- The second bezier point.p2- The third bezier point.tmp- A temporary vector to be used by the calculation.- Returns:
- The value specified by out for chaining
-
quadratic_derivative
public static <T extends Vector<T>> T quadratic_derivative(T out, float t, T p0, T p1, T p2, T tmp)
Quadratic Bezier curve derivative- Parameters:
out- TheVectorto set to the result.t- The location (ranging 0..1) on the curve.p0- The first bezier point.p1- The second bezier point.p2- The third bezier point.tmp- A temporary vector to be used by the calculation.- Returns:
- The value specified by out for chaining
-
cubic
public static <T extends Vector<T>> T cubic(T out, float t, T p0, T p1, T p2, T p3, T tmp)
Cubic Bezier curve- Parameters:
out- TheVectorto set to the result.t- The location (ranging 0..1) on the curve.p0- The first bezier point.p1- The second bezier point.p2- The third bezier point.p3- The fourth bezier point.tmp- A temporary vector to be used by the calculation.- Returns:
- The value specified by out for chaining
-
cubic_derivative
public static <T extends Vector<T>> T cubic_derivative(T out, float t, T p0, T p1, T p2, T p3, T tmp)
Cubic Bezier curve derivative- Parameters:
out- TheVectorto set to the result.t- The location (ranging 0..1) on the curve.p0- The first bezier point.p1- The second bezier point.p2- The third bezier point.p3- The fourth bezier point.tmp- A temporary vector to be used by the calculation.- Returns:
- The value specified by out for chaining
-
derivativeAt
public T derivativeAt(T out, float t)
- Specified by:
derivativeAtin interfacePath<T extends Vector<T>>
-
approximate
public float approximate(T v)
- Specified by:
approximatein interfacePath<T extends Vector<T>>- Returns:
- The approximated value (between 0 and 1) on the path which is closest to the specified value. Note that the
implementation of this method might be optimized for speed against precision, see
Path.locate(Object)for a more precise (but more intensive) method.
-
locate
public float locate(T v)
-
approxLength
public float approxLength(int samples)
- Specified by:
approxLengthin interfacePath<T extends Vector<T>>- Parameters:
samples- The amount of divisions used to approximate length. Higher values will produce more precise results, but will be more CPU intensive.- Returns:
- An approximated length of the spline through sampling the curve and accumulating the euclidean distances between the sample points.
-
-