You are here: Start » AVL.NET » Function Reference » Geometry 2D » Geometry 2D Interpolations » AVL.LerpVectors_Radial

AVL.LerpVectors_Radial

Linearly interpolates between two radial vectors.

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

C++
C#
 
public static void LerpVectors_Radial
(
	AvlNet.Vector2D inVector0,
	AvlNet.Vector2D inVector1,
	float inLambda,
	out AvlNet.Vector2D outVector
)

Parameters

Name Type Range Default Description
inVector0AvlNet.Vector2D
inVector1AvlNet.Vector2D
inLambdafloat<-INF, INF>0.5fInterpolation between the input vectors where 0.0 value is equal to inVector0 and 1.0 to inVector1. Default value: 0.5f.
outVectorAvlNet.Vector2D

Description

Note that because of inaccuracies of floating-point arithmetic, some geometric operations (including this one) may lead to unpredictable results for degenerated cases. In this filter such a case occurs when a zero vector is given on input.

Examples

LerpVectors performed on red inVector0 = (150, 150) and blue inVector1 = (-50, 50) with inLambda = 0,25 and inRotationDirection = Clockwise. Green is the resulting outVector.

LerpVectors performed on red inVector0 = (50, 50) and blue inVector1 = (-25, 25) with inLambda = -1,0 and inRotationDirection = Clockwise. 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 acquired by mirroring inVector1 by a line determined by inVector0 and its length properly adjusted.
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.

Function Overrides

See also