Back to Aurora Vision Library Lite website

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

LerpPaths


Header: AVL.h
Namespace: avl

Linearly interpolates between two paths.

Syntax

void avl::LerpPaths
(
	const avl::Path& inPath0,
	const avl::Path& inPath1,
	const float inLambda,
	avl::Path& outPath
)

Parameters

Name Type Range Default Description
Input value inPath0 const Path&
Input value inPath1 const Path& First input path
Input value inLambda const float - - 0.5f Interpolation between the input paths where 0.0 value is equal to inPath0 and 1.0 to inPath1
Output value outPath Path& Output path

Examples

LerpPaths performed on red inPath0 and blue inPath1 with inLambda = 0,25. Green is the resulting outPath.

LerpPaths performed on red inPath0 and blue inPath1 with inLambda = -1,0. Green is the resulting outPath.

Remarks

Please note that:
  • interpolation begins at inPath0,
  • for positive inLambda values interpolation is performed in the direction of inPath1 while for negative - in the direction of a path which is the result of the following operation: (inPath0 - inPath1), in example a path consisting of inPath1 points mirrored by the corresponding inPath0 points.
Hence when inLambda = 0,0, outPath is equal to inPath0, while for inLambda = 1,0 it's the same as inPath1 and for inLambda = -1,0 - as (inPath0 - inPath1). Other inLambda values interpolate between the input paths and beyond.

Errors

List of possible exceptions:

Error type Description
DomainError Numbers of points in paths are not the same in LerpPaths.
DomainError Open and closed paths on input in LerpPaths.