Back to FabImage Library Lite websiteYou are here:
Start »
Geometry 2D »
Geometry 2D Interpolations »
LerpAngles
Header: |
FIL.h
|
Namespace: |
fil |
Linearly interpolates between two angles in the direction of minimum turn.
Syntax
void fil::LerpAngles
(
float inAngle0,
float inAngle1,
ftl::Optional<fil::RotationDirection::Type> inRotationDirection,
fil::AngleRange::Type inAngleRange,
float inLambda,
bool inInverse,
float& outAngle
)
Parameters
|
Name |
Type |
Default |
Description |
 |
inAngle0 |
float |
|
|
 |
inAngle1 |
float |
|
|
 |
inRotationDirection |
Optional<RotationDirection::Type> |
NIL |
Clockwise, counter-clockwise or auto |
 |
inAngleRange |
AngleRange::Type |
_0_180 |
|
 |
inLambda |
float |
|
Interpolation between the input angles where 0.0 value is equal to inAngle0 and 1.0 to inAngle1 |
 |
inInverse |
bool |
|
|
 |
outAngle |
float& |
|
|
Examples
LerpAngles performed on red inAngle0 = 15 and blue inAngle1 = 135 with inLambda = 0,25 and inAngleRange = 0-360. Green is the resulting outAngle.
LerpAngles performed on red inAngle0 = 15 and blue inAngle1 = 135 with inLambda = -1,0 and inAngleRange = 0-360. Green is the resulting outAngle.
Remarks
Please note that:
- interpolation begins at inAngle0,
- for positive inLambda values interpolation is performed in the direction given in the inRotationDirection parameter while for negative - in the inverted direction.
Hence when
inLambda = 0,0,
outAngle is equal to
inAngle0, while for
inLambda = 1,0 it's the same as
inAngle1 and for
inLambda = -1,0 - as (
inAngle0 -
inAngle1). Other
inLambda values interpolate between the input angles and beyond.