Generate geodesic path.

Description

Generate geodesic path.

Usage

1
geodesic_path(current, target, frozen)

Arguments

new_target_f

function that generates new frame, with previous frame as argument

Details

Wrap basis generation method with a function that keeps computes the geodesic interpolation from the previous frame to the next frame, and provides convenient access to all the information about the path.

Frozen variables allow us to keep certain values of the projection fixed and generate a geodesic across the subspace generated by those

Value

interpolate

A function with single parameter in [0, 1] that returns an interpolated frame between the current and future frames. 0 gives the current plane, 1 gives the new target frame in plane of current frame.

dist

The distance, in radians, between the current and target frames.

Fa

The current frame.

Fz

The new target frame.

tau

The principle angles between the current and target frames.

Ga

The current plane.

Gz

The target plane.

Examples

1
2
3
4
5
6
7
8
a <- basis_random(4, 2)
b <- basis_random(4, 2)
path <- geodesic_path(a, b)

path$dist
all.equal(a, path$interpolate(0))
# Not true generally - a rotated into plane of b
all.equal(b, path$interpolate(1))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.