quat_rotate_point_3d T_quat_rotate_point_3d QuatRotatePoint3d QuatRotatePoint3d (Operator)
Name
quat_rotate_point_3d T_quat_rotate_point_3d QuatRotatePoint3d QuatRotatePoint3d
— Rotation eines Punktes mit einer Einheitsquaternion.
Signatur
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_3d quat_rotate_point_3d QuatRotatePoint3d QuatRotatePoint3d QuatRotatePoint3d
rotiert den Punkt (Px Px Px Px px
,
Py Py Py Py py
, Pz Pz Pz Pz pz
) mit der Rotationsquaternion Quaternion Quaternion Quaternion Quaternion quaternion
(z.B. erzeugt durch axis_angle_to_quat axis_angle_to_quat AxisAngleToQuat AxisAngleToQuat AxisAngleToQuat
). Der rotierte Punkt wird als
(Qx Qx Qx Qx qx
, Qy Qy Qy Qy qy
, Qz Qz Qz Qz qz
) zurückgegeben.
Die Rotation eines Punktes x durch eine Einheitsquaternion q ist
definiert durch
entspricht der Konjugation von q (siehe
quat_conjugate quat_conjugate QuatConjugate QuatConjugate QuatConjugate
). 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_3d quat_rotate_point_3d QuatRotatePoint3d QuatRotatePoint3d QuatRotatePoint3d
überprüft nicht, ob
Quaternion Quaternion Quaternion Quaternion quaternion
eine Einheitsquaternion ist. Falls Quaternion Quaternion Quaternion Quaternion quaternion
keine Einheitsquaternion ist, ist das Ergebnis dieses Operators nicht
definiert.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Parameter
Quaternion Quaternion Quaternion Quaternion quaternion
(input_control) quaternion →
HQuaternion , HTuple HTuple Htuple (real) (double ) (double ) (double )
Rotationsquaternion.
Px Px Px Px px
(input_control) real →
HTuple HTuple Htuple (real) (double ) (double ) (double )
X-Koordinate des zu drehenden Punktes.
Py Py Py Py py
(input_control) real →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Y-Koordinate des zu drehenden Punktes.
Pz Pz Pz Pz pz
(input_control) real →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Z-Koordinate des zu drehenden Punktes.
Qx Qx Qx Qx qx
(output_control) real →
HTuple HTuple Htuple (real) (double ) (double ) (double )
X-Koordinate des gedrehten Punktes.
Qy Qy Qy Qy qy
(output_control) real →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Y-Koordinate des gedrehten Punktes.
Qz Qz Qz Qz qz
(output_control) real →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Z-Koordinate des gedrehten Punktes.
Vorgänger
axis_angle_to_quat axis_angle_to_quat AxisAngleToQuat AxisAngleToQuat AxisAngleToQuat
Siehe auch
axis_angle_to_quat axis_angle_to_quat AxisAngleToQuat AxisAngleToQuat AxisAngleToQuat
,
quat_to_hom_mat3d quat_to_hom_mat3d QuatToHomMat3d QuatToHomMat3d QuatToHomMat3d
,
quat_compose quat_compose QuatCompose QuatCompose QuatCompose
,
quat_normalize quat_normalize QuatNormalize QuatNormalize QuatNormalize
,
quat_conjugate quat_conjugate QuatConjugate QuatConjugate QuatConjugate
,
quat_interpolate quat_interpolate QuatInterpolate QuatInterpolate QuatInterpolate
,
dual_quat_trans_line_3d dual_quat_trans_line_3d DualQuatTransLine3d DualQuatTransLine3d DualQuatTransLine3d
Modul
Foundation