Package gaiasky.util.math
Class Lineard<T extends Vectord<T>>
- java.lang.Object
-
- gaiasky.util.math.Lineard<T>
-
-
Field Summary
Fields Modifier and Type Field Description T[]controlPoints
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doubleapproximate(T v)doubleapproxLength(int samples)TderivativeAt(T out, double t)doublelocate(T v)Lineardset(T[] controlPoints)TvalueAt(T out, double t)
-
-
-
Constructor Detail
-
Lineard
public Lineard(T[] controlPoints)
-
-
Method Detail
-
derivativeAt
public T derivativeAt(T out, double t)
- Specified by:
derivativeAtin interfacePathd<T extends Vectord<T>>
-
approximate
public double approximate(T v)
- Specified by:
approximatein interfacePathd<T extends Vectord<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
Pathd.locate(Object)for a more precise (but more intensive) method.
-
locate
public double locate(T v)
- Specified by:
locatein interfacePathd<T extends Vectord<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
Pathd.approximate(Object)for a faster (but less precise) method.
-
approxLength
public double approxLength(int samples)
- Specified by:
approxLengthin interfacePathd<T extends Vectord<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.
-
-