trinterp

RTSX Help: interpolate homogeneous transformation

trinterp

Homogeneous transform interpolation between two frames

Syntax

  • T = trinterp(T0, T1, S)
  • T = trinterp(T, S)

Input/Output Arguments

  • T0, T1, T — 4×4 (or 4x4xn) homogeneous transformation matrices
  • S —   a point of vector of points between 0 – 1

Description

T = trinterp(T0, T1, S) is a homogeneous transform interpolation between T0 when S = 0 to T1 when S=1. Rotation is interpolated using quaternion spherical linear interpolation. If S has size n x 1, then T (4x4xn) is a sequence of homogeneous transforms corresponding to the interpolation values in S.

T = trinterp(T,S) is a transform that varies from the world frame when S = 0 to T when S = 1

Examples

T0 = transl([0.4, 0.2 0])*trotx(pi);
T1 = transl([-0.4, -0.2, 0.3])*troty(pi/2)*trotz(-pi/2);
Ts = trinterp(T0, T1, [0:49]/49);
tranimate(Ts);

See also

  • Quaternion — create a quaternion data structure
  • ctraj — cartesian trajectory