Name
quat_rotate_point_3d T_quat_rotate_point_3d QuatRotatePoint3d QuatRotatePoint3d — Perform a rotation by a unit quaternion.
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 )
Given a rotation quaternion (e.g. generated by axis_angle_to_quat axis_angle_to_quat AxisAngleToQuat AxisAngleToQuat AxisAngleToQuat ),
the operator quat_rotate_point_3d quat_rotate_point_3d QuatRotatePoint3d QuatRotatePoint3d QuatRotatePoint3d can be used to rotate a 3D point
(Px Px Px Px px , Py Py Py Py py , Pz Pz Pz Pz pz ). The rotated point is returned in
(Qx Qx Qx Qx qx , Qy Qy Qy Qy qy , Qz Qz Qz Qz qz ).
The rotation of a point x by an unit quaternion q is given by
corresponds to the conjugation of a quaternion q
(see quat_conjugate quat_conjugate QuatConjugate QuatConjugate QuatConjugate ). 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.
The operator quat_rotate_point_3d quat_rotate_point_3d QuatRotatePoint3d QuatRotatePoint3d QuatRotatePoint3d does not check whether
Quaternion Quaternion Quaternion Quaternion quaternion is a unit quaternion. If Quaternion Quaternion Quaternion Quaternion quaternion is not
a unit quaternion, the result of this operator is not defined.
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Processed without parallelization.
X coordinate of the point to be rotated.
Y coordinate of the point to be rotated.
Z coordinate of the point to be rotated.
X coordinate of the rotated point.
Y coordinate of the rotated point.
Z coordinate of the rotated point.
axis_angle_to_quat axis_angle_to_quat AxisAngleToQuat AxisAngleToQuat AxisAngleToQuat
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
Foundation