Name
quat_rotate_point_3dT_quat_rotate_point_3dQuatRotatePoint3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d — Rotation eines Punktes mit einem Einheitsquaternion.
Herror T_quat_rotate_point_3d(const Htuple Quaternion, const Htuple Px, const Htuple Py, const Htuple Pz, Htuple* Qx, Htuple* Qy, Htuple* Qz)
Herror quat_rotate_point_3d(const HTuple& Quaternion, const HTuple& Px, const HTuple& Py, const HTuple& Pz, double* Qx, double* Qy, double* 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
void HOperatorSetX.QuatRotatePoint3d(
[in] VARIANT Quaternion, [in] VARIANT Px, [in] VARIANT Py, [in] VARIANT Pz, [out] VARIANT* Qx, [out] VARIANT* Qy, [out] VARIANT* Qz)
double HQuaternionX.QuatRotatePoint3d(
[in] double Px, [in] double Py, [in] double Pz, [out] double* Qy, [out] double* Qz)
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)
Der Operator quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d rotiert den Punkt (PxPxPxPxPxpx,
PyPyPyPyPypy, PzPzPzPzPzpz) mit dem Rotationsquaternion QuaternionQuaternionQuaternionQuaternionQuaternionquaternion
(z.B. erzeugt durch axis_angle_to_quataxis_angle_to_quatAxisAngleToQuataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat). Der rotierte Punkt wird als
(QxQxQxQxQxqx, QyQyQyQyQyqy, QzQzQzQzQzqz) zurückgegeben.
Die Rotation eines Punktes x durch ein Einheitsquaternion q ist
definiert durch
x' = q * x * conj(q).
conj(q) entspricht der Konjugation von q (siehe
quat_conjugatequat_conjugateQuatConjugatequat_conjugateQuatConjugateQuatConjugate). Der Punkt x wird intern in Quaternionenform
umgewandelt, damit obige Gleichung angewandt werden kann. Dabei wird
der Realteil des Quaternions auf Null gesetzt und die Komponenten von x
den drei imaginären Komponenten des Quaternions zugewiesen.
Der Operator quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d überprüft nicht, ob
QuaternionQuaternionQuaternionQuaternionQuaternionquaternion ein Einheitsquaternion ist. Falls QuaternionQuaternionQuaternionQuaternionQuaternionquaternion
kein Einheitsquaternion ist, ist das Ergebnis dieses Operators nicht
definiert.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
X-Koordinate des zu drehenden Punktes.
Y-Koordinate des zu drehenden Punktes.
Z-Koordinate des zu drehenden Punktes.
QxQxQxQxQxqx (output_control) real → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
X-Koordinate des gedrehten Punktes.
QyQyQyQyQyqy (output_control) real → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Y-Koordinate des gedrehten Punktes.
QzQzQzQzQzqz (output_control) real → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Z-Koordinate des gedrehten Punktes.
axis_angle_to_quataxis_angle_to_quatAxisAngleToQuataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat
axis_angle_to_quataxis_angle_to_quatAxisAngleToQuataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat,
quat_to_hom_mat3dquat_to_hom_mat3dQuatToHomMat3dquat_to_hom_mat3dQuatToHomMat3dQuatToHomMat3d,
quat_composequat_composeQuatComposequat_composeQuatComposeQuatCompose,
quat_normalizequat_normalizeQuatNormalizequat_normalizeQuatNormalizeQuatNormalize,
quat_conjugatequat_conjugateQuatConjugatequat_conjugateQuatConjugateQuatConjugate,
quat_interpolatequat_interpolateQuatInterpolatequat_interpolateQuatInterpolateQuatInterpolate
Foundation