screw_to_dual_quatT_screw_to_dual_quatScrewToDualQuatScrewToDualQuatscrew_to_dual_quat (算子名称)

名称

screw_to_dual_quatT_screw_to_dual_quatScrewToDualQuatScrewToDualQuatscrew_to_dual_quat — Convert a screw into a dual quaternion.

参数签名

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

def screw_to_dual_quat(screw_format: str, axis_direction_x: Union[float, int], axis_direction_y: Union[float, int], axis_direction_z: Union[float, int], axis_moment_or_point_x: Union[float, int], axis_moment_or_point_y: Union[float, int], axis_moment_or_point_z: Union[float, int], rotation: Union[float, int], translation: Union[float, int]) -> Sequence[Union[float, int]]

描述

The operator screw_to_dual_quatscrew_to_dual_quatScrewToDualQuatScrewToDualQuatScrewToDualQuatscrew_to_dual_quat converts the screw parameters to the unit dual quaternion DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion, 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 “Solution Guide III-C - 3D Vision”.

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 ScrewFormatScrewFormatScrewFormatScrewFormatscrewFormatscrew_format is set to 'moment'"moment""moment""moment""moment""moment", these parameters can be passed in the corresponding parameters AxisDirectionXAxisDirectionXAxisDirectionXAxisDirectionXaxisDirectionXaxis_direction_x, AxisDirectionYAxisDirectionYAxisDirectionYAxisDirectionYaxisDirectionYaxis_direction_y, AxisDirectionZAxisDirectionZAxisDirectionZAxisDirectionZaxisDirectionZaxis_direction_z, AxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXaxisMomentOrPointXaxis_moment_or_point_x, AxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYaxisMomentOrPointYaxis_moment_or_point_y, AxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZaxisMomentOrPointZaxis_moment_or_point_z, 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, ScrewFormatScrewFormatScrewFormatScrewFormatscrewFormatscrew_format must be set to 'point'"point""point""point""point""point" and the coordinates of the points must be passed in AxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXaxisMomentOrPointXaxis_moment_or_point_x, AxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYaxisMomentOrPointYaxis_moment_or_point_y, and AxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZaxisMomentOrPointZaxis_moment_or_point_z.

注意

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

运行信息

参数表

ScrewFormatScrewFormatScrewFormatScrewFormatscrewFormatscrew_format (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Format of the screw parameters.

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

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

AxisDirectionXAxisDirectionXAxisDirectionXAxisDirectionXaxisDirectionXaxis_direction_x (input_control)  point3d.x HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

X component of the direction vector of the screw axis.

AxisDirectionYAxisDirectionYAxisDirectionYAxisDirectionYaxisDirectionYaxis_direction_y (input_control)  point3d.y HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Y component of the direction vector of the screw axis.

AxisDirectionZAxisDirectionZAxisDirectionZAxisDirectionZaxisDirectionZaxis_direction_z (input_control)  point3d.z HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Z component of the direction vector of the screw axis.

AxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXaxisMomentOrPointXaxis_moment_or_point_x (input_control)  point3d.x HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

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

AxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYaxisMomentOrPointYaxis_moment_or_point_y (input_control)  point3d.y HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

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

AxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZaxisMomentOrPointZaxis_moment_or_point_z (input_control)  point3d.z HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

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

RotationRotationRotationRotationrotationrotation (input_control)  angle.rad HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Rotation angle in radians.

TranslationTranslationTranslationTranslationtranslationtranslation (input_control)  real HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Translation.

DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion (output_control)  dual_quaternion HDualQuaternion, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Dual quaternion.

可能的后置算子

dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose, dual_quat_conjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugateDualQuatConjugatedual_quat_conjugate, dual_quat_interpolatedual_quat_interpolateDualQuatInterpolateDualQuatInterpolateDualQuatInterpolatedual_quat_interpolate

可替代算子

pose_to_dual_quatpose_to_dual_quatPoseToDualQuatPoseToDualQuatPoseToDualQuatpose_to_dual_quat

参考其它

dual_quat_to_hom_mat3ddual_quat_to_hom_mat3dDualQuatToHomMat3dDualQuatToHomMat3dDualQuatToHomMat3ddual_quat_to_hom_mat3d, pose_to_dual_quatpose_to_dual_quatPoseToDualQuatPoseToDualQuatPoseToDualQuatpose_to_dual_quat, dual_quat_to_screwdual_quat_to_screwDualQuatToScrewDualQuatToScrewDualQuatToScrewdual_quat_to_screw, dual_quat_to_posedual_quat_to_poseDualQuatToPoseDualQuatToPoseDualQuatToPosedual_quat_to_pose, dual_quat_normalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalizeDualQuatNormalizedual_quat_normalize, serialize_dual_quatserialize_dual_quatSerializeDualQuatSerializeDualQuatSerializeDualQuatserialize_dual_quat, deserialize_dual_quatdeserialize_dual_quatDeserializeDualQuatDeserializeDualQuatDeserializeDualQuatdeserialize_dual_quat, dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d, dual_quat_trans_point_3ddual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d, axis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuatAxisAngleToQuataxis_angle_to_quat

模块

Foundation