frames

fun List<Vector3>.frames(up0: Vector3): List<Matrix44>(source)

Calculate frames (pose matrices) using parallel transport

Parameters

up0

initial up vector, should not be collinear with this[1] - this[0]


fun frames(positions: List<Vector3>, directions: List<Vector3> = emptyList(), up0: Vector3): List<Matrix44>(source)

Calculates a list of frame transformation matrices using parallel transport along a series of positions.

Return

a list of 4x4 frame matrices corresponding to the input positions.

Parameters

positions

a list of 3D positions defining the path.

directions

an optional list of direction vectors at each position for guiding forward orientation; if empty, directions are estimated from the positions.

up0

the initial up vector, must not have zero or NaN length.


fun Path3D.frames(ascendingTs: List<Double>, up0: Vector3, analyticalDirections: Boolean): List<Matrix44>(source)

Generates a list of frame transformation matrices along a 3D path using parallel transport.

Return

a list of 4x4 transformation matrices representing the frames at the specified path positions.

Parameters

ascendingTs

a list of increasing parameter values that define positions along the path.

up0

the initial up vector, used to determine the orientation of frames; must not have zero or NaN length.

analyticalDirections

a flag indicating whether to use analytically calculated directions along the path.


fun RectifiedPath3D.frames(ascendingTs: List<Double>, up0: Vector3, analyticalDirections: Boolean = true): List<Matrix44>(source)

Computes a list of frame transformation matrices along a 3D rectified path using parallel transport.

Return

a list of 4x4 transformation matrices representing frames at the specified positions on the path.

Parameters

ascendingTs

a list of increasing parameter values that define positions along the path.

up0

the initial up vector, which determines the initial orientation of the frames.

analyticalDirections

whether to calculate direction vectors analytically; if false, this will use an empty list as directions.