ClassesClassesClassesClasses | | | | Operators

screw_to_dual_quatT_screw_to_dual_quatScrewToDualQuatscrew_to_dual_quatScrewToDualQuatScrewToDualQuat (Operator)

Name

screw_to_dual_quatT_screw_to_dual_quatScrewToDualQuatscrew_to_dual_quatScrewToDualQuatScrewToDualQuat — Convert a screw into a dual quaternion.

Signature

screw_to_dual_quat( : : ScrewFormat, AxisDirectionX, AxisDirectionY, AxisDirectionZ, AxisMomentOrPointX, AxisMomentOrPointY, AxisMomentOrPointZ, Rotation, Translation : DualQuaternion)

Herror T_screw_to_dual_quat(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)

Herror screw_to_dual_quat(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 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::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 HOperatorSetX.ScrewToDualQuat(
[in] VARIANT ScrewFormat, [in] VARIANT AxisDirectionX, [in] VARIANT AxisDirectionY, [in] VARIANT AxisDirectionZ, [in] VARIANT AxisMomentOrPointX, [in] VARIANT AxisMomentOrPointY, [in] VARIANT AxisMomentOrPointZ, [in] VARIANT Rotation, [in] VARIANT Translation, [out] VARIANT* DualQuaternion)

void HDualQuaternionX.ScrewToDualQuat(
[in] BSTR ScrewFormat, [in] VARIANT AxisDirectionX, [in] VARIANT AxisDirectionY, [in] VARIANT AxisDirectionZ, [in] VARIANT AxisMomentOrPointX, [in] VARIANT AxisMomentOrPointY, [in] VARIANT AxisMomentOrPointZ, [in] VARIANT Rotation, [in] VARIANT Translation)

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_quatscrew_to_dual_quatScrewToDualQuatscrew_to_dual_quatScrewToDualQuatScrewToDualQuat converts the screw parameters to the unit dual quaternion DualQuaternionDualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaternion, 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 ScrewFormatScrewFormatScrewFormatScrewFormatScrewFormatscrewFormat is set to 'moment'"moment""moment""moment""moment""moment", these parameters can be passed in the corresponding parameters AxisDirectionXAxisDirectionXAxisDirectionXAxisDirectionXAxisDirectionXaxisDirectionX, AxisDirectionYAxisDirectionYAxisDirectionYAxisDirectionYAxisDirectionYaxisDirectionY, AxisDirectionZAxisDirectionZAxisDirectionZAxisDirectionZAxisDirectionZaxisDirectionZ, AxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXaxisMomentOrPointX, AxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYaxisMomentOrPointY, AxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZaxisMomentOrPointZ, RotationRotationRotationRotationRotationrotation, and TranslationTranslationTranslationTranslationTranslationtranslation.

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, ScrewFormatScrewFormatScrewFormatScrewFormatScrewFormatscrewFormat must be set to 'point'"point""point""point""point""point" and the coordinates of the points must be passed in AxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXaxisMomentOrPointX, AxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYaxisMomentOrPointY, and AxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZaxisMomentOrPointZ.

Attention

screw_to_dual_quatscrew_to_dual_quatScrewToDualQuatscrew_to_dual_quatScrewToDualQuatScrewToDualQuat assumes that the direction vector of the screw axis has length 1, i.e., . Otherwise the returned dual quaternion is not meaningful.

Parallelization

Parameters

ScrewFormatScrewFormatScrewFormatScrewFormatScrewFormatscrewFormat (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Format of the screw parameters.

Default value: 'moment' "moment" "moment" "moment" "moment" "moment"

List of values: 'moment'"moment""moment""moment""moment""moment", 'point'"point""point""point""point""point"

AxisDirectionXAxisDirectionXAxisDirectionXAxisDirectionXAxisDirectionXaxisDirectionX (input_control)  point3d.x HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

X component of the direction vector of the screw axis.

AxisDirectionYAxisDirectionYAxisDirectionYAxisDirectionYAxisDirectionYaxisDirectionY (input_control)  point3d.y HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Y component of the direction vector of the screw axis.

AxisDirectionZAxisDirectionZAxisDirectionZAxisDirectionZAxisDirectionZaxisDirectionZ (input_control)  point3d.z HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Z component of the direction vector of the screw axis.

AxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXaxisMomentOrPointX (input_control)  point3d.x HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

X component of the moment vector or a point on the screw axis.

AxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYaxisMomentOrPointY (input_control)  point3d.y HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Y component of the moment vector or a point on the screw axis.

AxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZaxisMomentOrPointZ (input_control)  point3d.z HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Z component of the moment vector or a point on the screw axis.

RotationRotationRotationRotationRotationrotation (input_control)  angle.rad HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Rotation angle in radians.

TranslationTranslationTranslationTranslationTranslationtranslation (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Translation.

DualQuaternionDualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaternion (output_control)  dual_quaternion HDualQuaternion, HTupleHTupleHTupleHDualQuaternionX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Dual quaternion.

Possible Successors

dual_quat_composedual_quat_composeDualQuatComposedual_quat_composeDualQuatComposeDualQuatCompose, dual_quat_conjugatedual_quat_conjugateDualQuatConjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugate, dual_quat_interpolatedual_quat_interpolateDualQuatInterpolatedual_quat_interpolateDualQuatInterpolateDualQuatInterpolate

Alternatives

pose_to_dual_quatpose_to_dual_quatPoseToDualQuatpose_to_dual_quatPoseToDualQuatPoseToDualQuat

See also

dual_quat_to_hom_mat3ddual_quat_to_hom_mat3dDualQuatToHomMat3ddual_quat_to_hom_mat3dDualQuatToHomMat3dDualQuatToHomMat3d, pose_to_dual_quatpose_to_dual_quatPoseToDualQuatpose_to_dual_quatPoseToDualQuatPoseToDualQuat, dual_quat_to_screwdual_quat_to_screwDualQuatToScrewdual_quat_to_screwDualQuatToScrewDualQuatToScrew, dual_quat_to_posedual_quat_to_poseDualQuatToPosedual_quat_to_poseDualQuatToPoseDualQuatToPose, dual_quat_normalizedual_quat_normalizeDualQuatNormalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalize, serialize_dual_quatserialize_dual_quatSerializeDualQuatserialize_dual_quatSerializeDualQuatSerializeDualQuat, deserialize_dual_quatdeserialize_dual_quatDeserializeDualQuatdeserialize_dual_quatDeserializeDualQuatDeserializeDualQuat, dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3d, axis_angle_to_quataxis_angle_to_quatAxisAngleToQuataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat

Module

Foundation


ClassesClassesClassesClasses | | | | Operators