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
/amnt/loge/users/nistaff02/nistaff/rhaschke/nst7/man/../o.linux//../foldersrc/nst_geo.c