dual_quat_trans_point_3dT_dual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d (算子名称)

名称

dual_quat_trans_point_3dT_dual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d — Transform a 3D point with a unit dual quaternion.

参数签名

dual_quat_trans_point_3d( : : DualQuaternion, Px, Py, Pz : Tx, Ty, Tz)

Herror T_dual_quat_trans_point_3d(const Htuple DualQuaternion, const Htuple Px, const Htuple Py, const Htuple Pz, Htuple* Tx, Htuple* Ty, Htuple* Tz)

void DualQuatTransPoint3d(const HTuple& DualQuaternion, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Tx, HTuple* Ty, HTuple* Tz)

HTuple HDualQuaternion::DualQuatTransPoint3d(const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Ty, HTuple* Tz) const

double HDualQuaternion::DualQuatTransPoint3d(double Px, double Py, double Pz, double* Ty, double* Tz) const

static void HOperatorSet.DualQuatTransPoint3d(HTuple dualQuaternion, HTuple px, HTuple py, HTuple pz, out HTuple tx, out HTuple ty, out HTuple tz)

HTuple HDualQuaternion.DualQuatTransPoint3d(HTuple px, HTuple py, HTuple pz, out HTuple ty, out HTuple tz)

double HDualQuaternion.DualQuatTransPoint3d(double px, double py, double pz, out double ty, out double tz)

def dual_quat_trans_point_3d(dual_quaternion: Sequence[Union[float, int]], px: MaybeSequence[Union[float, int]], py: MaybeSequence[Union[float, int]], pz: MaybeSequence[Union[float, int]]) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]

def dual_quat_trans_point_3d_s(dual_quaternion: Sequence[Union[float, int]], px: MaybeSequence[Union[float, int]], py: MaybeSequence[Union[float, int]], pz: MaybeSequence[Union[float, int]]) -> Tuple[float, float, float]

描述

The operator dual_quat_trans_point_3ddual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d transforms a 3D point (PxPxPxPxpxpx, PyPyPyPypypy, PzPzPzPzpzpz) by a 3D rigid transformation that is given by the unit dual quaternion DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion and returns the transformed 3D point in (TxTxTxTxtxtx, TyTyTyTytyty, TzTzTzTztztz).

For a brief introduction to dual quaternions, see “Solution Guide III-C - 3D Vision”.

注意

dual_quat_trans_point_3ddual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d returns meaningful results only if DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion is a unit dual quaternion.

运行信息

参数表

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

Unit dual quaternion representing the transformation.

PxPxPxPxpxpx (input_control)  point3d.x(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Input point(s) (x coordinate).

Default: 64

Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024

PyPyPyPypypy (input_control)  point3d.y(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Input point(s) (y coordinate).

Default: 64

Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024

PzPzPzPzpzpz (input_control)  point3d.z(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Input point(s) (z coordinate).

Default: 64

Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024

TxTxTxTxtxtx (output_control)  point3d.x(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Output point(s) (x coordinate).

TyTyTyTytyty (output_control)  point3d.y(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Output point(s) (y coordinate).

TzTzTzTztztz (output_control)  point3d.z(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Output point(s) (z coordinate).

例程 (HDevelop)

* dual_quat_trans_point_3d (DualQuat, Px, Py, Pz, Tx, Ty, Tz)
* is equivalent to the following code:
dual_quat_to_hom_mat3d (DualQuat, HomMat3D)
affine_trans_point_3d (HomMat3D, Px, Py, Pz, Tx, Ty, Tz)

可能的前置算子

dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose, pose_to_dual_quatpose_to_dual_quatPoseToDualQuatPoseToDualQuatPoseToDualQuatpose_to_dual_quat, screw_to_dual_quatscrew_to_dual_quatScrewToDualQuatScrewToDualQuatScrewToDualQuatscrew_to_dual_quat

可替代算子

dual_quat_to_hom_mat3ddual_quat_to_hom_mat3dDualQuatToHomMat3dDualQuatToHomMat3dDualQuatToHomMat3ddual_quat_to_hom_mat3d, affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d

参考其它

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, quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d, dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d

模块

Foundation