NAME

dhtf_unit -- Denavit-Hardenberg transform

PROTOTYPE

unitptr dhtf_unit( float fA, float fAlpha, float fD, float fTheta, int iNum, char *pcOptions, unitptr uHost)

ARGUMENTS

float fA
Denavit-Hardenberg parameters: distance a, twist angle alpha, offset d and rotation theta
float fAlpha
- not documented in source --
float fD
- not documented in source --
float fTheta
- not documented in source --
int iNum
nr of points to transform
char *pcOptions
option string (may be NULL)
unitptr uHost
host unit

RETURN VALUE:

A pointer to the created unit or NULL in the case of an error.

INTERFACE OF CREATED UNIT:

X_in[16]:
(packed input field 0) homogeneous transform from predecessor object coordinate system i-1 into world coordinates
Y_in[4]:
Offset added to Denavit-Hardenberg parameters specified when unit was created.
Z_in[3*iNum]:
(optional input field 1) iNum points in coordinates of this object coordinate system i. to be transformed into world coordinates. Not present, when iNum=0.
CTL_in[1]:
(control field) a value of 0 switches this unit off
X_out[16]:
(packed output field 0) homogeneous transform from current object coordinate system i into world coordinates.
Y_out[3*iNum]:
(output field 1) object coordinates at Y_in transformed into world coordinates.

EXECUTION OF CREATED UNIT:

Sets up homogeneous transform matrix and transforms input points into world coordinates. Angles are in degrees. Radians can be chosen by specifying the option %R in pcOptions.

DESCRIPTION:

The transform of this unit is the concatenation of five simpler

transforms:


    TF(a,alpha,d,theta) = TF(in)Rx(alpha)Tx(a)Tz(d)Rz(theta)
    
where TF(in) is the input transform at X_in[], Rx,Rz denote rotations about the x and z axis, and Tx,Tz denote translations along the x and z axes.

EXAMPLES:

STATUS:

Preliminary.

SEE ALSO:

FILE

/local/homes/rhaschke/nst7/man/../o.linx86//../foldersrc/nst_geo.c