Name
dual_quat_to_screw T_dual_quat_to_screw DualQuatToScrew DualQuatToScrew — Convert a unit dual quaternion into a screw.
void DualQuatToScrew (const HTuple& DualQuaternion , const HTuple& ScrewFormat , HTuple* AxisDirectionX , HTuple* AxisDirectionY , HTuple* AxisDirectionZ , HTuple* AxisMomentOrPointX , HTuple* AxisMomentOrPointY , HTuple* AxisMomentOrPointZ , HTuple* Rotation , HTuple* Translation )
void HDualQuaternion ::DualQuatToScrew (const HString& ScrewFormat , double* AxisDirectionX , double* AxisDirectionY , double* AxisDirectionZ , double* AxisMomentOrPointX , double* AxisMomentOrPointY , double* AxisMomentOrPointZ , double* Rotation , double* Translation ) const
void HDualQuaternion ::DualQuatToScrew (const char* ScrewFormat , double* AxisDirectionX , double* AxisDirectionY , double* AxisDirectionZ , double* AxisMomentOrPointX , double* AxisMomentOrPointY , double* AxisMomentOrPointZ , double* Rotation , double* Translation ) const
static void HOperatorSet .DualQuatToScrew (HTuple dualQuaternion , HTuple screwFormat , out HTuple axisDirectionX , out HTuple axisDirectionY , out HTuple axisDirectionZ , out HTuple axisMomentOrPointX , out HTuple axisMomentOrPointY , out HTuple axisMomentOrPointZ , out HTuple rotation , out HTuple translation )
void HDualQuaternion .DualQuatToScrew (string screwFormat , out double axisDirectionX , out double axisDirectionY , out double axisDirectionZ , out double axisMomentOrPointX , out double axisMomentOrPointY , out double axisMomentOrPointZ , out double rotation , out double translation )
The operator dual_quat_to_screw dual_quat_to_screw DualQuatToScrew DualQuatToScrew DualQuatToScrew converts the input unit dual
quaternion DualQuaternion DualQuaternion DualQuaternion DualQuaternion dualQuaternion , which represents a 3D rigid
transformation, into the parameters of the corresponding screw.
For a brief introduction to dual quaternions, the used notation, and the
relationship between dual quaternions and screws, see the documentation of
this chapter (Transformations / Dual Quaternions ).
A screw is described by the direction of the screw axis
with
, the moment of the screw axis
with
,
the screw angle
, and the screw translation
.
If ScrewFormat ScrewFormat ScrewFormat ScrewFormat screwFormat is set to 'moment' "moment" "moment" "moment" "moment" , these parameters
are returned in the corresponding parameters AxisDirectionX AxisDirectionX AxisDirectionX AxisDirectionX axisDirectionX ,
AxisDirectionY AxisDirectionY AxisDirectionY AxisDirectionY axisDirectionY , AxisDirectionZ AxisDirectionZ AxisDirectionZ AxisDirectionZ axisDirectionZ , AxisMomentOrPointX AxisMomentOrPointX AxisMomentOrPointX AxisMomentOrPointX axisMomentOrPointX ,
AxisMomentOrPointY AxisMomentOrPointY AxisMomentOrPointY AxisMomentOrPointY axisMomentOrPointY , AxisMomentOrPointZ AxisMomentOrPointZ AxisMomentOrPointZ AxisMomentOrPointZ axisMomentOrPointZ , Rotation Rotation Rotation Rotation rotation ,
and Translation Translation Translation Translation translation .
For convenience reasons, it is also possible to query the point
on the screw axis that is closest to the origin instead of the moment of the
screw axis. For this, ScrewFormat ScrewFormat ScrewFormat ScrewFormat screwFormat must be set to 'point' "point" "point" "point" "point" .
In this case, the coordinates of the point are returned in
AxisMomentOrPointX AxisMomentOrPointX AxisMomentOrPointX AxisMomentOrPointX axisMomentOrPointX , AxisMomentOrPointY AxisMomentOrPointY AxisMomentOrPointY AxisMomentOrPointY axisMomentOrPointY , and
AxisMomentOrPointZ AxisMomentOrPointZ AxisMomentOrPointZ AxisMomentOrPointZ axisMomentOrPointZ .
dual_quat_to_screw dual_quat_to_screw DualQuatToScrew DualQuatToScrew DualQuatToScrew assumes that the input DualQuaternion DualQuaternion DualQuaternion DualQuaternion dualQuaternion
is a unit dual quaternion, and hence represents a 3D rigid
transformation. Otherwise the returned screw parameters are not meaningful.
Further note that the screw axis for an identity transformation, i.e.,
no rotation and no translation, is undefined. In this case
is arbitrarily set to
.
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Processed without parallelization.
Format of the screw parameters.
Default value:
'moment'
"moment"
"moment"
"moment"
"moment"
List of values: 'moment' "moment" "moment" "moment" "moment" , 'point' "point" "point" "point" "point"
X component of the direction vector of the screw axis.
Y component of the direction vector of the screw axis.
Z component of the direction vector of the screw axis.
X component of the moment vector or a point on the
screw axis.
Y component of the moment vector or a point on the
screw axis.
Z component of the moment vector or a point on the
screw axis.
Rotation angle in radians.
dual_quat_compose dual_quat_compose DualQuatCompose DualQuatCompose DualQuatCompose ,
dual_quat_conjugate dual_quat_conjugate DualQuatConjugate DualQuatConjugate DualQuatConjugate ,
dual_quat_interpolate dual_quat_interpolate DualQuatInterpolate DualQuatInterpolate DualQuatInterpolate
dual_quat_to_pose dual_quat_to_pose DualQuatToPose DualQuatToPose DualQuatToPose ,
dual_quat_to_hom_mat3d dual_quat_to_hom_mat3d DualQuatToHomMat3d DualQuatToHomMat3d DualQuatToHomMat3d
pose_to_dual_quat pose_to_dual_quat PoseToDualQuat PoseToDualQuat PoseToDualQuat ,
dual_quat_normalize dual_quat_normalize DualQuatNormalize DualQuatNormalize DualQuatNormalize ,
serialize_dual_quat serialize_dual_quat SerializeDualQuat SerializeDualQuat SerializeDualQuat ,
deserialize_dual_quat deserialize_dual_quat DeserializeDualQuat DeserializeDualQuat DeserializeDualQuat ,
dual_quat_trans_line_3d dual_quat_trans_line_3d DualQuatTransLine3d DualQuatTransLine3d DualQuatTransLine3d ,
screw_to_dual_quat screw_to_dual_quat ScrewToDualQuat ScrewToDualQuat ScrewToDualQuat
Foundation