ClassesClasses | | Operators

screw_to_dual_quatT_screw_to_dual_quatScrewToDualQuatScrewToDualQuat (Operator)

Name

screw_to_dual_quatT_screw_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)

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)

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_quatScrewToDualQuatScrewToDualQuatScrewToDualQuat converts the screw parameters to the unit dual quaternion DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaternion, 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 ScrewFormatScrewFormatScrewFormatScrewFormatscrewFormat is set to 'moment'"moment""moment""moment""moment", these parameters can be passed in the corresponding parameters AxisDirectionXAxisDirectionXAxisDirectionXAxisDirectionXaxisDirectionX, AxisDirectionYAxisDirectionYAxisDirectionYAxisDirectionYaxisDirectionY, AxisDirectionZAxisDirectionZAxisDirectionZAxisDirectionZaxisDirectionZ, AxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXaxisMomentOrPointX, AxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYaxisMomentOrPointY, AxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZaxisMomentOrPointZ, RotationRotationRotationRotationrotation, and TranslationTranslationTranslationTranslationtranslation.

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, ScrewFormatScrewFormatScrewFormatScrewFormatscrewFormat must be set to 'point'"point""point""point""point" and the coordinates of the points must be passed in AxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXaxisMomentOrPointX, AxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYaxisMomentOrPointY, and AxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZaxisMomentOrPointZ.

Attention

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

Execution Information

Parameters

ScrewFormatScrewFormatScrewFormatScrewFormatscrewFormat (input_control)  string HTupleHTupleHtuple (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"

AxisDirectionXAxisDirectionXAxisDirectionXAxisDirectionXaxisDirectionX (input_control)  point3d.x HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

X component of the direction vector of the screw axis.

AxisDirectionYAxisDirectionYAxisDirectionYAxisDirectionYaxisDirectionY (input_control)  point3d.y HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Y component of the direction vector of the screw axis.

AxisDirectionZAxisDirectionZAxisDirectionZAxisDirectionZaxisDirectionZ (input_control)  point3d.z HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Z component of the direction vector of the screw axis.

AxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXaxisMomentOrPointX (input_control)  point3d.x HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

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

AxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYaxisMomentOrPointY (input_control)  point3d.y HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

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

AxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZaxisMomentOrPointZ (input_control)  point3d.z HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

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

RotationRotationRotationRotationrotation (input_control)  angle.rad HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Rotation angle in radians.

TranslationTranslationTranslationTranslationtranslation (input_control)  real HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Translation.

DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaternion (output_control)  dual_quaternion HDualQuaternion, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Dual quaternion.

Possible Successors

dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatCompose, dual_quat_conjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugateDualQuatConjugate, dual_quat_interpolatedual_quat_interpolateDualQuatInterpolateDualQuatInterpolateDualQuatInterpolate

Alternatives

pose_to_dual_quatpose_to_dual_quatPoseToDualQuatPoseToDualQuatPoseToDualQuat

See also

dual_quat_to_hom_mat3ddual_quat_to_hom_mat3dDualQuatToHomMat3dDualQuatToHomMat3dDualQuatToHomMat3d, pose_to_dual_quatpose_to_dual_quatPoseToDualQuatPoseToDualQuatPoseToDualQuat, dual_quat_to_screwdual_quat_to_screwDualQuatToScrewDualQuatToScrewDualQuatToScrew, dual_quat_to_posedual_quat_to_poseDualQuatToPoseDualQuatToPoseDualQuatToPose, dual_quat_normalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalizeDualQuatNormalize, serialize_dual_quatserialize_dual_quatSerializeDualQuatSerializeDualQuatSerializeDualQuat, deserialize_dual_quatdeserialize_dual_quatDeserializeDualQuatDeserializeDualQuatDeserializeDualQuat, dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3dDualQuatTransLine3d, axis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuatAxisAngleToQuat

Module

Foundation


ClassesClasses | | Operators