mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 16:44:36 +00:00
inverse lerp function
This commit is contained in:
parent
0d981b62cf
commit
c5afb407db
2 changed files with 19 additions and 0 deletions
|
|
@ -353,6 +353,17 @@ DefineEngineFunction( mLerp, F32, ( F32 v1, F32 v2, F32 time ),,
|
||||||
return mLerp( v1, v2, time );
|
return mLerp( v1, v2, time );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DefineEngineFunction(mInvLerp, F32, (F32 v1, F32 v2, F32 point), ,
|
||||||
|
"Calculate the percentage of a point along a line.\n"
|
||||||
|
"@param v1 Interpolate From Input value."
|
||||||
|
"@param v2 Interpolate To Input value."
|
||||||
|
"@param point Point along range."
|
||||||
|
"@returns normalized time used to interpolate values"
|
||||||
|
"@ingroup Math")
|
||||||
|
{
|
||||||
|
return mInvLerp(v1, v2, point);
|
||||||
|
}
|
||||||
|
|
||||||
DefineEngineFunction( mPi, F32, (),,
|
DefineEngineFunction( mPi, F32, (),,
|
||||||
"Return the value of PI (half-circle in radians).\n"
|
"Return the value of PI (half-circle in radians).\n"
|
||||||
"@returns The value of PI."
|
"@returns The value of PI."
|
||||||
|
|
|
||||||
|
|
@ -265,6 +265,14 @@ inline T mLerp( const T &v1, const T &v2, F32 factor )
|
||||||
return ( v1 * ( 1.0f - factor ) ) + ( v2 * factor );
|
return ( v1 * ( 1.0f - factor ) ) + ( v2 * factor );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Template function for determining a percentage of interpolation between any two
|
||||||
|
/// types which implement operators for scalar multiply and addition.
|
||||||
|
template <typename T>
|
||||||
|
inline T mInvLerp(const T& v1, const T& v2, F32 point)
|
||||||
|
{
|
||||||
|
return (point - v1) / (v2 - v1);
|
||||||
|
}
|
||||||
|
|
||||||
inline S32 mMulDiv(S32 a, S32 b, S32 c)
|
inline S32 mMulDiv(S32 a, S32 b, S32 c)
|
||||||
{
|
{
|
||||||
return m_mulDivS32(a, b, c);
|
return m_mulDivS32(a, b, c);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue