quat_rotate_point_3dT_quat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d (Operator)

Name

quat_rotate_point_3dT_quat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d — Rotation eines Punktes mit einer Einheitsquaternion.

Signatur

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]

Beschreibung

Der Operator quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d rotiert den Punkt (PxPxPxPxpxpx, PyPyPyPypypy, PzPzPzPzpzpz) mit der Rotationsquaternion QuaternionQuaternionQuaternionQuaternionquaternionquaternion (z.B. erzeugt durch axis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuatAxisAngleToQuataxis_angle_to_quat). Der rotierte Punkt wird als (QxQxQxQxqxqx, QyQyQyQyqyqy, QzQzQzQzqzqz) zurückgegeben.

Die Rotation eines Punktes x durch eine Einheitsquaternion q ist definiert durch

entspricht der Konjugation von q (siehe quat_conjugatequat_conjugateQuatConjugateQuatConjugateQuatConjugatequat_conjugate). Der Punkt x wird intern in Quaternionenform umgewandelt, damit obige Gleichung angewandt werden kann. Dabei wird der Realteil der Quaternion auf Null gesetzt und die Komponenten von x den drei imaginären Komponenten der Quaternion zugewiesen.

Achtung

Der Operator quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d überprüft nicht, ob QuaternionQuaternionQuaternionQuaternionquaternionquaternion eine Einheitsquaternion ist. Falls QuaternionQuaternionQuaternionQuaternionquaternionquaternion keine Einheitsquaternion ist, ist das Ergebnis dieses Operators nicht definiert.

Ausführungsinformationen

Parameter

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

Rotationsquaternion.

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

X-Koordinate des zu drehenden Punktes.

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

Y-Koordinate des zu drehenden Punktes.

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

Z-Koordinate des zu drehenden Punktes.

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

X-Koordinate des gedrehten Punktes.

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

Y-Koordinate des gedrehten Punktes.

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

Z-Koordinate des gedrehten Punktes.

Vorgänger

axis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuatAxisAngleToQuataxis_angle_to_quat

Siehe auch

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

Modul

Foundation