|
template<class T > |
static T | linear (Real t, const T &a, const T &b) |
| Linear interpolation. t range is [0,1]. More...
|
|
static Quat | linear (Real t, const Quat &a, const Quat &b) |
|
static Transform | linear (Real t, const Transform &a, const Transform &b) |
|
static Real | linearAngle (Real t, Real angleStart, Real angleEnd, optional< int & > rotSign=optnull) |
| Linearly interpolate angles along the shortest path. Angles must be normalized. t range is [0,1]. rotSign is the direction rotated: (-ve, +ve, none) = (-1,1,0) More...
|
|
static void | alignDir (Vec3 &dir, const Vec3 &targetDir, Real angleAmount, optional< int & > rotSign=optnull) |
| Align a normalized direction towards a target direction, rotating around the Y axis, stepping angleAmount. rotSign is the direction rotated: (-ve, +ve, none) = (-1,1,0) More...
|
|
template<class T > |
static T | baryCentric (Real f, Real g, const T &x0, const T &x1, const T &x2) |
| Triangular bary-centric interpolation. More...
|
|
static Quat | baryCentric (Real f, Real g, const Quat &q0, const Quat &q1, const Quat &q2) |
|
static Transform | baryCentric (Real f, Real g, const Transform &tm0, const Transform &tm1, const Transform &tm2) |
|
template<class Range , class Seq > |
static auto | blend (Range &&vals, Seq &&weights_) -> mt_elemOf(vals) |
| Linearly blend a range of values by applying an associated weight to each value. If all weights are 0 then the first value is returned. More...
|
|
static Real | sin (Real t, bool smoothIn, bool smoothOut) |
| Sin interpolation. More...
|
|
static Real | gaussian (Real x, Real offset, Real scale) |
| Gaussian / Normal distribution. The standard distribution parameters are (offset, scale) = (0, 1) More...
|
|
template<class T > |
static MatrixBase< T >::MatrixS | gaussian (const MatrixBase< T > &x, const MatrixBase< T > &offset, const MatrixBase< T > &scale) |
| Perform gaussian for each element. More...
|
|
template<class T > |
static T | bezier (Real t, const T &v0, const T &v1, const T &v2, const T &v3) |
| Interpolate along a Bezier curve passing through v0 and v3, using handles (control points) v1 and v2. The handles shape the curve and typically don't lie on it. More...
|
|
static tuple< Vec3, int > | bezierRoots (Real y, Real v0, Real v1, Real v2, Real v3) |
| Find roots of bezier function at y-intercept y More...
|
|
static tuple< Vec2, Vec2 > | bezierNormalizeHandles (const Vec2 &v0, const Vec2 &v1, const Vec2 &v2, const Vec2 &v3) |
| Given a bezier curve with dim (time, value), normalize the handles (v1,v2) such that there is only 1 root at any point along the time axis. More...
|
|
static Real | bezierAtTime (Real time, const Vec2 &v0, const Vec2 &v1, const Vec2 &v2, const Vec2 &v3) |
| Given a bezier curve with dim (time, value), get value on curve parameterized by time in range [0,1]. More...
|
|
static Real | bezierAngleAtTime (Real time, const Vec2 &v0, const Vec2 &v1, const Vec2 &v2, const Vec2 &v3) |
| Similar to bezierAtTime() except the value is interpolated by taking the shortest angular path. More...
|
|
static void | bezierSubdiv (vector< Vec2 > &cs, int index, Real t) |
| Subdivide a bezier curve segment at index (4 control points) by curve param 't' [0,1]. Replaces curve segment with equivalent left/right segments (7 control points) More...
|
|
static Real | bezierSubdivAdapt (vector< Vec2 > &cs, int index, Real tol=0.01) |
| Adaptively subdivide a bezier curve segment at index (4 control points). Subdivides curve segment until the arc length does not change more than the given tolerance. More...
|
|
static Matrix4 | bezierPatchCoeff (const Matrix4 &val) |
| Bezier 2D patch coefficient matrix generator. More...
|
|
static Real | bezierPatch (const Matrix4 &coeff, Real x, Real y) |
| Bezier 2D patch interpolation. More...
|
|
template<class T > |
static T | catmull (Real t, const T &v0, const T &v1, const T &v2, const T &v3) |
| Interpolate along a Catmull-Rom curve passing through v1 and v2, using handles (control points) v0 and v3. The spline (piecewise curve) will pass through all control points. More...
|
|
static Matrix4 | catmullPatchCoeff (const Matrix4 &val) |
| Catmull-rom 2D patch coefficient matrix generator. More...
|
|
static Real | catmullPatch (const Matrix4 &coeff, Real x, Real y) |
| Catmull-rom 2D patch interpolation. More...
|
|