Back to Aurora Vision Library Lite websiteYou are here:
Start »
Geometry 2D »
Geometry 2D Interpolations »
LerpVectors
Header: |
AVL.h
|
Namespace: |
avl |
Linearly interpolates between two vectors.
Syntax
void avl::LerpVectors
(
const avl::Vector2D& inVector0,
const avl::Vector2D& inVector1,
const float inLambda,
avl::Vector2D& outVector
)
Parameters
|
Name |
Type |
Range |
Default |
Description |
|
inVector0 |
const Vector2D& |
|
|
|
|
inVector1 |
const Vector2D& |
|
|
|
|
inLambda |
const float |
- - |
0.5f |
Interpolation between the input vectors where 0.0 value is equal to inVector0 and 1.0 to inVector1 |
|
outVector |
Vector2D& |
|
|
|
Examples
LerpVectors performed on red inVector0 = (150, 150) and blue inVector1 = (-50, 50) with inLambda = 0,25. Green is the resulting outVector.
LerpVectors performed on red inVector0 = (50, 50) and blue inVector1 = (-25, 25) with inLambda = -1,0. Green is the resulting outVector.
Remarks
Please note that:
- interpolation begins at inVector0,
- for positive inLambda values interpolation is performed in the direction of inVector1 while for negative - in the direction of a vector which, when visualized with the same base point, ends in the point acquired by mirroring the head of inVector0 by a line perpendicular to the vector (inVector0 - inVector1).
Hence when
inLambda = 0,0,
outVector is equal to
inVector0, while for
inLambda = 1,0 it's the same as
inVector1 and for
inLambda = -1,0 - as the previously described vector. Other
inLambda values interpolate between the input vectors and beyond.