quat_rotate_point_3dT_quat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d (算子名称)

名称

quat_rotate_point_3dT_quat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d — 执行一个单位四元素的旋转。

参数签名

quat_rotate_point_3d( : : Quaternion, Px, Py, Pz : Qx, Qy, Qz)

Herror T_quat_rotate_point_3d(const Htuple Quaternion, const Htuple Px, const Htuple Py, const Htuple Pz, Htuple* Qx, Htuple* Qy, Htuple* Qz)

void QuatRotatePoint3d(const HTuple& Quaternion, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qx, HTuple* Qy, HTuple* Qz)

double HQuaternion::QuatRotatePoint3d(double Px, double Py, double Pz, double* Qy, double* Qz) const

static void HOperatorSet.QuatRotatePoint3d(HTuple quaternion, HTuple px, HTuple py, HTuple pz, out HTuple qx, out HTuple qy, out HTuple qz)

double HQuaternion.QuatRotatePoint3d(double px, double py, double pz, out double qy, out double qz)

def quat_rotate_point_3d(quaternion: Sequence[float], px: float, py: float, pz: float) -> Tuple[float, float, float]

描述

Given a rotation quaternion (e.g., generated by axis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuatAxisAngleToQuataxis_angle_to_quat), 该算子 quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d can be used to rotate a 3D point (PxPxPxPxpxpx, PyPyPyPypypy, PzPzPzPzpzpz). The rotated point is returned in (QxQxQxQxqxqx, QyQyQyQyqyqy, QzQzQzQzqzqz).

The rotation of a point x by an unit quaternion q is given by

corresponds to the conjugation of a quaternion q (see quat_conjugatequat_conjugateQuatConjugateQuatConjugateQuatConjugatequat_conjugate). Note that x will be transformed into quaternion form to perform the rotation. This is done by setting the real part to zero and the three imaginary components to the three components of x.

注意

该算子 quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d does not check whether QuaternionQuaternionQuaternionQuaternionquaternionquaternion is a unit quaternion. If QuaternionQuaternionQuaternionQuaternionquaternionquaternion is not a unit quaternion, the result of this operator is not defined.

运行信息

参数表

QuaternionQuaternionQuaternionQuaternionquaternionquaternion (input_control)  quaternion HQuaternion, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Rotation quaternion.

PxPxPxPxpxpx (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

X coordinate of the point to be rotated.

PyPyPyPypypy (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Y coordinate of the point to be rotated.

PzPzPzPzpzpz (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Z coordinate of the point to be rotated.

QxQxQxQxqxqx (output_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

X coordinate of the rotated point.

QyQyQyQyqyqy (output_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Y coordinate of the rotated point.

QzQzQzQzqzqz (output_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Z coordinate of the rotated point.

可能的前置算子

axis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuatAxisAngleToQuataxis_angle_to_quat

参考其它

axis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuatAxisAngleToQuataxis_angle_to_quat, quat_to_hom_mat3dquat_to_hom_mat3dQuatToHomMat3dQuatToHomMat3dQuatToHomMat3dquat_to_hom_mat3d, quat_composequat_composeQuatComposeQuatComposeQuatComposequat_compose, quat_normalizequat_normalizeQuatNormalizeQuatNormalizeQuatNormalizequat_normalize, quat_conjugatequat_conjugateQuatConjugateQuatConjugateQuatConjugatequat_conjugate, quat_interpolatequat_interpolateQuatInterpolateQuatInterpolateQuatInterpolatequat_interpolate, dual_quat_trans_point_3ddual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d, dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d

模块

Foundation