Name
quat_rotate_point_3d T_quat_rotate_point_3d QuatRotatePoint3d 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 )
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 )
Given a rotation quaternion (e.g. generated by axis_angle_to_quat axis_angle_to_quat AxisAngleToQuat axis_angle_to_quat AxisAngleToQuat AxisAngleToQuat ),
the operator quat_rotate_point_3d quat_rotate_point_3d QuatRotatePoint3d quat_rotate_point_3d QuatRotatePoint3d QuatRotatePoint3d can be used to rotate a 3D point
(Px Px Px Px Px px , Py Py Py Py Py py , Pz Pz Pz Pz Pz pz ). The rotated point is returned in
(Qx Qx Qx Qx Qx qx , Qy Qy Qy Qy Qy qy , Qz Qz Qz Qz Qz qz ).
The rotation of a point x by an unit quaterion q is given by
corresponds to the conjugation of a quaternion q
(see quat_conjugate quat_conjugate QuatConjugate quat_conjugate 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 quat_rotate_point_3d QuatRotatePoint3d QuatRotatePoint3d does not check whether
Quaternion Quaternion Quaternion Quaternion Quaternion quaternion is a unit quaternion. If Quaternion 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.
Qx Qx Qx Qx Qx qx (output_control) real → HTuple HTuple HTuple VARIANT Htuple (real) (double ) (double ) (double ) (double ) (double )
X coordinate of the rotated point.
Qy Qy Qy Qy Qy qy (output_control) real → HTuple HTuple HTuple VARIANT Htuple (real) (double ) (double ) (double ) (double ) (double )
Y coordinate of the rotated point.
Qz Qz Qz Qz Qz qz (output_control) real → HTuple HTuple HTuple VARIANT Htuple (real) (double ) (double ) (double ) (double ) (double )
Z coordinate of the rotated point.
axis_angle_to_quat axis_angle_to_quat AxisAngleToQuat axis_angle_to_quat AxisAngleToQuat AxisAngleToQuat
axis_angle_to_quat axis_angle_to_quat AxisAngleToQuat axis_angle_to_quat AxisAngleToQuat AxisAngleToQuat ,
quat_to_hom_mat3d quat_to_hom_mat3d QuatToHomMat3d quat_to_hom_mat3d QuatToHomMat3d QuatToHomMat3d ,
quat_compose quat_compose QuatCompose quat_compose QuatCompose QuatCompose ,
quat_normalize quat_normalize QuatNormalize quat_normalize QuatNormalize QuatNormalize ,
quat_conjugate quat_conjugate QuatConjugate quat_conjugate QuatConjugate QuatConjugate ,
quat_interpolate quat_interpolate QuatInterpolate quat_interpolate QuatInterpolate QuatInterpolate
Foundation