screw_to_dual_quat T_screw_to_dual_quat ScrewToDualQuat ScrewToDualQuat (Operator)
Name
screw_to_dual_quat T_screw_to_dual_quat ScrewToDualQuat ScrewToDualQuat
— Convert a screw into a dual quaternion.
Signature
void ScrewToDualQuat (const HTuple& ScrewFormat , const HTuple& AxisDirectionX , const HTuple& AxisDirectionY , const HTuple& AxisDirectionZ , const HTuple& AxisMomentOrPointX , const HTuple& AxisMomentOrPointY , const HTuple& AxisMomentOrPointZ , const HTuple& Rotation , const HTuple& Translation , HTuple* DualQuaternion )
void HDualQuaternion ::HDualQuaternion (const HString& ScrewFormat , const HTuple& AxisDirectionX , const HTuple& AxisDirectionY , const HTuple& AxisDirectionZ , const HTuple& AxisMomentOrPointX , const HTuple& AxisMomentOrPointY , const HTuple& AxisMomentOrPointZ , const HTuple& Rotation , const HTuple& Translation )
void HDualQuaternion ::HDualQuaternion (const HString& ScrewFormat , double AxisDirectionX , double AxisDirectionY , double AxisDirectionZ , double AxisMomentOrPointX , double AxisMomentOrPointY , double AxisMomentOrPointZ , double Rotation , double Translation )
void HDualQuaternion ::HDualQuaternion (const char* ScrewFormat , double AxisDirectionX , double AxisDirectionY , double AxisDirectionZ , double AxisMomentOrPointX , double AxisMomentOrPointY , double AxisMomentOrPointZ , double Rotation , double Translation )
void HDualQuaternion ::HDualQuaternion (const wchar_t* ScrewFormat , double AxisDirectionX , double AxisDirectionY , double AxisDirectionZ , double AxisMomentOrPointX , double AxisMomentOrPointY , double AxisMomentOrPointZ , double Rotation , double Translation )
(Windows only)
void HDualQuaternion ::ScrewToDualQuat (const HString& ScrewFormat , const HTuple& AxisDirectionX , const HTuple& AxisDirectionY , const HTuple& AxisDirectionZ , const HTuple& AxisMomentOrPointX , const HTuple& AxisMomentOrPointY , const HTuple& AxisMomentOrPointZ , const HTuple& Rotation , const HTuple& Translation )
void HDualQuaternion ::ScrewToDualQuat (const HString& ScrewFormat , double AxisDirectionX , double AxisDirectionY , double AxisDirectionZ , double AxisMomentOrPointX , double AxisMomentOrPointY , double AxisMomentOrPointZ , double Rotation , double Translation )
void HDualQuaternion ::ScrewToDualQuat (const char* ScrewFormat , double AxisDirectionX , double AxisDirectionY , double AxisDirectionZ , double AxisMomentOrPointX , double AxisMomentOrPointY , double AxisMomentOrPointZ , double Rotation , double Translation )
void HDualQuaternion ::ScrewToDualQuat (const wchar_t* ScrewFormat , double AxisDirectionX , double AxisDirectionY , double AxisDirectionZ , double AxisMomentOrPointX , double AxisMomentOrPointY , double AxisMomentOrPointZ , double Rotation , double Translation )
(Windows only)
static void HOperatorSet .ScrewToDualQuat (HTuple screwFormat , HTuple axisDirectionX , HTuple axisDirectionY , HTuple axisDirectionZ , HTuple axisMomentOrPointX , HTuple axisMomentOrPointY , HTuple axisMomentOrPointZ , HTuple rotation , HTuple translation , out HTuple dualQuaternion )
public HDualQuaternion (string screwFormat , HTuple axisDirectionX , HTuple axisDirectionY , HTuple axisDirectionZ , HTuple axisMomentOrPointX , HTuple axisMomentOrPointY , HTuple axisMomentOrPointZ , HTuple rotation , HTuple translation )
public HDualQuaternion (string screwFormat , double axisDirectionX , double axisDirectionY , double axisDirectionZ , double axisMomentOrPointX , double axisMomentOrPointY , double axisMomentOrPointZ , double rotation , double translation )
void HDualQuaternion .ScrewToDualQuat (string screwFormat , HTuple axisDirectionX , HTuple axisDirectionY , HTuple axisDirectionZ , HTuple axisMomentOrPointX , HTuple axisMomentOrPointY , HTuple axisMomentOrPointZ , HTuple rotation , HTuple translation )
void HDualQuaternion .ScrewToDualQuat (string screwFormat , double axisDirectionX , double axisDirectionY , double axisDirectionZ , double axisMomentOrPointX , double axisMomentOrPointY , double axisMomentOrPointZ , double rotation , double translation )
Description
The operator screw_to_dual_quat screw_to_dual_quat ScrewToDualQuat ScrewToDualQuat ScrewToDualQuat
converts the screw parameters
to the unit dual quaternion DualQuaternion DualQuaternion DualQuaternion DualQuaternion dualQuaternion
, which represents a 3D
rigid transformation.
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
can be passed 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 specify an arbitrary point
on the screw axis instead of the moment of the screw axis. For this,
ScrewFormat ScrewFormat ScrewFormat ScrewFormat screwFormat
must be set to 'point' "point" "point" "point" "point" and the
coordinates of the points must be passed in AxisMomentOrPointX AxisMomentOrPointX AxisMomentOrPointX AxisMomentOrPointX axisMomentOrPointX
,
AxisMomentOrPointY AxisMomentOrPointY AxisMomentOrPointY AxisMomentOrPointY axisMomentOrPointY
, and AxisMomentOrPointZ AxisMomentOrPointZ AxisMomentOrPointZ AxisMomentOrPointZ axisMomentOrPointZ
.
Attention
screw_to_dual_quat screw_to_dual_quat ScrewToDualQuat ScrewToDualQuat ScrewToDualQuat
assumes that the direction vector of the screw
axis has length 1, i.e.,
.
Otherwise the returned dual quaternion is not meaningful.
Execution Information
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Processed without parallelization.
Parameters
ScrewFormat ScrewFormat ScrewFormat ScrewFormat screwFormat
(input_control) string →
HTuple HTuple Htuple (string) (string ) (HString ) (char* )
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"
AxisDirectionX AxisDirectionX AxisDirectionX AxisDirectionX axisDirectionX
(input_control) point3d.x →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X component of the direction vector of the screw axis.
AxisDirectionY AxisDirectionY AxisDirectionY AxisDirectionY axisDirectionY
(input_control) point3d.y →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y component of the direction vector of the screw axis.
AxisDirectionZ AxisDirectionZ AxisDirectionZ AxisDirectionZ axisDirectionZ
(input_control) point3d.z →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z component of the direction vector of the screw axis.
AxisMomentOrPointX AxisMomentOrPointX AxisMomentOrPointX AxisMomentOrPointX axisMomentOrPointX
(input_control) point3d.x →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X component of the moment vector or a point on the
screw axis.
AxisMomentOrPointY AxisMomentOrPointY AxisMomentOrPointY AxisMomentOrPointY axisMomentOrPointY
(input_control) point3d.y →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y component of the moment vector or a point on the
screw axis.
AxisMomentOrPointZ AxisMomentOrPointZ AxisMomentOrPointZ AxisMomentOrPointZ axisMomentOrPointZ
(input_control) point3d.z →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z component of the moment vector or a point on the
screw axis.
Rotation Rotation Rotation Rotation rotation
(input_control) angle.rad →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Rotation angle in radians.
Translation Translation Translation Translation translation
(input_control) real →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Translation.
DualQuaternion DualQuaternion DualQuaternion DualQuaternion dualQuaternion
(output_control) dual_quaternion →
HDualQuaternion , HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Dual quaternion.
Possible Successors
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
Alternatives
pose_to_dual_quat pose_to_dual_quat PoseToDualQuat PoseToDualQuat PoseToDualQuat
See also
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_to_screw dual_quat_to_screw DualQuatToScrew DualQuatToScrew DualQuatToScrew
,
dual_quat_to_pose dual_quat_to_pose DualQuatToPose DualQuatToPose DualQuatToPose
,
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
,
axis_angle_to_quat axis_angle_to_quat AxisAngleToQuat AxisAngleToQuat AxisAngleToQuat
Module
Foundation