Back to Aurora Vision Library Lite website

You are here: Start » Geometry 2D » Geometry 2D Interpolations » LerpVectors

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
Input value inVector0 const Vector2D&
Input value inVector1 const Vector2D&
Input value inLambda const float - - 0.5f Interpolation between the input vectors where 0.0 value is equal to inVector0 and 1.0 to inVector1
Output value 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.