dual_quat_to_screwT_dual_quat_to_screwDualQuatToScrewDualQuatToScrewdual_quat_to_screw (算子)

名称

dual_quat_to_screwT_dual_quat_to_screwDualQuatToScrewDualQuatToScrewdual_quat_to_screw — 将单位对偶四元数转换为螺旋。

签名

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

Herror T_dual_quat_to_screw(const Htuple DualQuaternion, const Htuple ScrewFormat, Htuple* AxisDirectionX, Htuple* AxisDirectionY, Htuple* AxisDirectionZ, Htuple* AxisMomentOrPointX, Htuple* AxisMomentOrPointY, Htuple* AxisMomentOrPointZ, Htuple* Rotation, Htuple* Translation)

void DualQuatToScrew(const HTuple& DualQuaternion, const HTuple& ScrewFormat, HTuple* AxisDirectionX, HTuple* AxisDirectionY, HTuple* AxisDirectionZ, HTuple* AxisMomentOrPointX, HTuple* AxisMomentOrPointY, HTuple* AxisMomentOrPointZ, HTuple* Rotation, HTuple* Translation)

void HDualQuaternion::DualQuatToScrew(const HString& ScrewFormat, double* AxisDirectionX, double* AxisDirectionY, double* AxisDirectionZ, double* AxisMomentOrPointX, double* AxisMomentOrPointY, double* AxisMomentOrPointZ, double* Rotation, double* Translation) const

void HDualQuaternion::DualQuatToScrew(const char* ScrewFormat, double* AxisDirectionX, double* AxisDirectionY, double* AxisDirectionZ, double* AxisMomentOrPointX, double* AxisMomentOrPointY, double* AxisMomentOrPointZ, double* Rotation, double* Translation) const

void HDualQuaternion::DualQuatToScrew(const wchar_t* ScrewFormat, double* AxisDirectionX, double* AxisDirectionY, double* AxisDirectionZ, double* AxisMomentOrPointX, double* AxisMomentOrPointY, double* AxisMomentOrPointZ, double* Rotation, double* Translation) const   ( Windows only)

static void HOperatorSet.DualQuatToScrew(HTuple dualQuaternion, HTuple screwFormat, out HTuple axisDirectionX, out HTuple axisDirectionY, out HTuple axisDirectionZ, out HTuple axisMomentOrPointX, out HTuple axisMomentOrPointY, out HTuple axisMomentOrPointZ, out HTuple rotation, out HTuple translation)

void HDualQuaternion.DualQuatToScrew(string screwFormat, out double axisDirectionX, out double axisDirectionY, out double axisDirectionZ, out double axisMomentOrPointX, out double axisMomentOrPointY, out double axisMomentOrPointZ, out double rotation, out double translation)

def dual_quat_to_screw(dual_quaternion: Sequence[float], screw_format: str) -> Tuple[float, float, float, float, float, float, float, float]

描述

算子 dual_quat_to_screwdual_quat_to_screwDualQuatToScrewDualQuatToScrewDualQuatToScrewdual_quat_to_screw converts the input unit dual quaternion DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion, which represents a 3D rigid transformation, into the parameters of the corresponding screw.

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”.

If ScrewFormatScrewFormatScrewFormatScrewFormatscrewFormatscrew_format is set to 'moment'"moment""moment""moment""moment""moment", these parameters are returned 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 query the point on the screw axis that is closest to the origin instead of the moment of the screw axis. For this, ScrewFormatScrewFormatScrewFormatScrewFormatscrewFormatscrew_format must be set to 'point'"point""point""point""point""point". In this case, the coordinates of the point are returned in AxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXaxisMomentOrPointXaxis_moment_or_point_x, AxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYaxisMomentOrPointYaxis_moment_or_point_y, and AxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZaxisMomentOrPointZaxis_moment_or_point_z

注意

dual_quat_to_screwdual_quat_to_screwDualQuatToScrewDualQuatToScrewDualQuatToScrewdual_quat_to_screw assumes that the input DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion is a unit dual quaternion, and hence represents a 3D rigid transformation. Otherwise the returned screw parameters are not meaningful. Further note that the screw axis for an identity transformation, i.e., no rotation and no translation, is undefined. In this case is arbitrarily set to

执行信息

参数

DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion (输入控制)  dual_quaternion HDualQuaternion, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Unit dual quaternion.

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 HTuplefloatHTupleHtuple (real) (double) (double) (double)

X component of the direction vector of the screw axis.

AxisDirectionYAxisDirectionYAxisDirectionYAxisDirectionYaxisDirectionYaxis_direction_y (输出控制)  point3d.y HTuplefloatHTupleHtuple (real) (double) (double) (double)

Y component of the direction vector of the screw axis.

AxisDirectionZAxisDirectionZAxisDirectionZAxisDirectionZaxisDirectionZaxis_direction_z (输出控制)  point3d.z HTuplefloatHTupleHtuple (real) (double) (double) (double)

Z component of the direction vector of the screw axis.

AxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXAxisMomentOrPointXaxisMomentOrPointXaxis_moment_or_point_x (输出控制)  point3d.x HTuplefloatHTupleHtuple (real) (double) (double) (double)

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

AxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYAxisMomentOrPointYaxisMomentOrPointYaxis_moment_or_point_y (输出控制)  point3d.y HTuplefloatHTupleHtuple (real) (double) (double) (double)

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

AxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZAxisMomentOrPointZaxisMomentOrPointZaxis_moment_or_point_z (输出控制)  point3d.z HTuplefloatHTupleHtuple (real) (double) (double) (double)

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

RotationRotationRotationRotationrotationrotation (输出控制)  angle.rad HTuplefloatHTupleHtuple (real) (double) (double) (double)

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

TranslationTranslationTranslationTranslationtranslationtranslation (输出控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Translation.

可能的前趋

dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose, dual_quat_conjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugateDualQuatConjugatedual_quat_conjugate, dual_quat_interpolatedual_quat_interpolateDualQuatInterpolateDualQuatInterpolateDualQuatInterpolatedual_quat_interpolate

替代

dual_quat_to_posedual_quat_to_poseDualQuatToPoseDualQuatToPoseDualQuatToPosedual_quat_to_pose, 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_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, screw_to_dual_quatscrew_to_dual_quatScrewToDualQuatScrewToDualQuatScrewToDualQuatscrew_to_dual_quat

模块

基础