screw_to_dual_quatT_screw_to_dual_quatScrewToDualQuatScrewToDualQuatscrew_to_dual_quat (算子)

名称

screw_to_dual_quatT_screw_to_dual_quatScrewToDualQuatScrewToDualQuatscrew_to_dual_quat — 将螺旋转换为对偶四元数。

签名

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]]

描述

算子 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 (输入控制)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Format of the screw parameters.

默认值: 'moment' "moment" "moment" "moment" "moment" "moment"

值列表: 'moment'"moment""moment""moment""moment""moment", 'point'"point""point""point""point""point"

AxisDirectionXAxisDirectionXAxisDirectionXAxisDirectionXaxisDirectionXaxis_direction_x (输入控制)  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 (输入控制)  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 (输入控制)  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 (输入控制)  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 (输入控制)  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 (输入控制)  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 (输入控制)  angle.rad HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

旋转角度(单位:弧度)。

TranslationTranslationTranslationTranslationtranslationtranslation (输入控制)  real HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Translation.

DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion (输出控制)  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

模块

基础