rotToTrsf(3)

NAME
rotToTrsf, multTrsfRot, trsfToRot -- RCCL routines for specifying rotations as a turn about a single axis.

USAGE
#include <robotTypes.h>    /* included as part of <rccl.h> */

TRSF *rotToTrsf (tr, v1, h)
  TRSF *tr;
  VECT *v1;
  float h;

TRSF *multTrsfRot (tr, v1, h)
  TRSF *tr;
  VECT *v1;
  float h;

trsfToRot (vr, h, t1)
  VECT *vr;
  float *h;
  TRSF *t1;

ARGUMENTS

tr --
    Result (and possibly input) transform.

t1 --
    Input transform.

v1 --
    An input vector (not necessarily normalized) which defines the Euler axis.

vr --
    An output vector defining an Euler axis.

h --
    Amount of rotation about the Euler axis (in degrees). This argument is a result pointer in the case of trsfToRot().

DESCRIPTION
These routines handle rotations parameterized as a single rotation about a specific axis (known as the Euler axis).

rotToTrsf() sets the rotational part of "tr" to be equivalent to a rotation "h" about the Euler axis "v1".

multTrsfRot() post-multiplies (in place) "tr" by a rotation "h" about "v1".

Each of the above routines returns a pointer to "tr".

trsfToRot() returns the Euler axis for the rotational component of t1 in vr, and the corresponding angle in h. h is defined so that 0 <=h < PI. If the rotational component is 0, then h is set to 0.0 and v is set to a unit vector along the x axis.

SEE ALSO
xyzToTrsf(3), multTrsf(3), vaoToTrsf(3), rpyToTrsf(3), eulToTrsf(3), dsplToTrsf(3).