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 — 使用单位对偶四元数变换三维点。
签名
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]
描述
算子 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 (输入控制) dual_quaternion → HDualQuaternion, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Unit dual quaternion representing the transformation.
PxPxPxPxpxpx (输入控制) point3d.x(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
输入点( x 坐标)。
默认值:
64
建议值:
0, 16, 32, 64, 128, 256, 512, 1024
PyPyPyPypypy (输入控制) point3d.y(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
输入点( y 坐标)。
默认值:
64
建议值:
0, 16, 32, 64, 128, 256, 512, 1024
PzPzPzPzpzpz (输入控制) point3d.z(-array) → HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
输入点( z 坐标)。
默认值:
64
建议值:
0, 16, 32, 64, 128, 256, 512, 1024
TxTxTxTxtxtx (输出控制) point3d.x(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
输出点( x 坐标)。
TyTyTyTytyty (输出控制) point3d.y(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
输出点( y 坐标)。
TzTzTzTztztz (输出控制) point3d.z(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
输出点( z 坐标)。
示例(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
模块
基础