quat_rotate_point_3dT_quat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d (Operator)

Name

quat_rotate_point_3dT_quat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d — 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)

Beschreibung

Der Operator quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dQuatRotatePoint3d rotiert den Punkt (PxPxPxPxpx, PyPyPyPypy, PzPzPzPzpz) mit der Rotationsquaternion QuaternionQuaternionQuaternionQuaternionquaternion (z.B. erzeugt durch axis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuatAxisAngleToQuat). Der rotierte Punkt wird als (QxQxQxQxqx, QyQyQyQyqy, QzQzQzQzqz) zurückgegeben.

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

entspricht der Konjugation von q (siehe quat_conjugatequat_conjugateQuatConjugateQuatConjugateQuatConjugate). 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_3dQuatRotatePoint3dQuatRotatePoint3dQuatRotatePoint3d überprüft nicht, ob QuaternionQuaternionQuaternionQuaternionquaternion eine Einheitsquaternion ist. Falls QuaternionQuaternionQuaternionQuaternionquaternion keine Einheitsquaternion ist, ist das Ergebnis dieses Operators nicht definiert.

Ausführungsinformationen

Parameter

QuaternionQuaternionQuaternionQuaternionquaternion (input_control)  quaternion HQuaternion, HTupleHTupleHtuple (real) (double) (double) (double)

Rotationsquaternion.

PxPxPxPxpx (input_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

X-Koordinate des zu drehenden Punktes.

PyPyPyPypy (input_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

Y-Koordinate des zu drehenden Punktes.

PzPzPzPzpz (input_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

Z-Koordinate des zu drehenden Punktes.

QxQxQxQxqx (output_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

X-Koordinate des gedrehten Punktes.

QyQyQyQyqy (output_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

Y-Koordinate des gedrehten Punktes.

QzQzQzQzqz (output_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

Z-Koordinate des gedrehten Punktes.

Vorgänger

axis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuatAxisAngleToQuat

Siehe auch

axis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuatAxisAngleToQuat, quat_to_hom_mat3dquat_to_hom_mat3dQuatToHomMat3dQuatToHomMat3dQuatToHomMat3d, quat_composequat_composeQuatComposeQuatComposeQuatCompose, quat_normalizequat_normalizeQuatNormalizeQuatNormalizeQuatNormalize, quat_conjugatequat_conjugateQuatConjugateQuatConjugateQuatConjugate, quat_interpolatequat_interpolateQuatInterpolateQuatInterpolateQuatInterpolate, dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3dDualQuatTransLine3d

Modul

Foundation