com.badlogic.gdx.math
Class Bezier<T extends Vector<T>>
java.lang.Object
com.badlogic.gdx.math.Bezier<T>
- All Implemented Interfaces:
- Path<T>
public class Bezier<T extends Vector<T>>
- extends Object
- implements Path<T>
Implementation of the Bezier curve.
- Author:
- Xoppa
Method Summary |
float |
approximate(T v)
|
static
|
cubic(T out,
float t,
T p0,
T p1,
T p2,
T p3,
T tmp)
Cubic Bezier curve |
static
|
linear(T out,
float t,
T p0,
T p1,
T tmp)
Simple linear interpolation |
float |
locate(T v)
|
static
|
quadratic(T out,
float t,
T p0,
T p1,
T p2,
T tmp)
Quadratic Bezier curve |
Bezier |
set(Array<T> points,
int offset,
int length)
|
Bezier |
set(T... points)
|
Bezier |
set(T[] points,
int offset,
int length)
|
T |
valueAt(T out,
float t)
|
points
public Array<T extends Vector<T>> points
Bezier
public Bezier()
Bezier
public Bezier(T... points)
Bezier
public Bezier(T[] points,
int offset,
int length)
Bezier
public Bezier(Array<T> points,
int offset,
int length)
linear
public static <T extends Vector<T>> T linear(T out,
float t,
T p0,
T p1,
T tmp)
- Simple linear interpolation
- Parameters:
out
- The Vector
to 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
- The Vector
to 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
- The Vector
to 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
set
public Bezier set(T... points)
set
public Bezier set(T[] points,
int offset,
int length)
set
public Bezier set(Array<T> points,
int offset,
int length)
valueAt
public T valueAt(T out,
float t)
- Specified by:
valueAt
in interface Path<T extends Vector<T>>
- Returns:
- The value of the path at t where 0<=t<=1
approximate
public float approximate(T v)
- Specified by:
approximate
in interface Path<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)
- Specified by:
locate
in interface Path<T extends Vector<T>>
- Returns:
- The precise location (between 0 and 1) on the path which is closest to the specified value.
Note that the implementation of this method might be CPU intensive, see
Path.approximate(Object)
for
a faster (but less precise) method.
Copyright © 2013. All Rights Reserved.