HALCON Reference Manual 10.0.2
Table of Contents / Transformations / Quaternions ClassesClassesClasses | | | Operators

quat_rotate_point_3dT_quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d (Operator)

Name

quat_rotate_point_3dT_quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d — Perform a rotation by a unit quaternion.

Signature

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)

Herror quat_rotate_point_3d(const HTuple& Quaternion, const HTuple& Px, const HTuple& Py, const HTuple& Pz, double* Qx, double* Qy, double* Qz)

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)

Description

Given a rotation quaternion (e.g. generated by axis_angle_to_quataxis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat), the operator quat_rotate_point_3dquat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d can be used to rotate a 3D point (PxPxPxPxpx, PyPyPyPypy, PzPzPzPzpz). The rotated point is returned in (QxQxQxQxqx, QyQyQyQyqy, QzQzQzQzqz).

The rotation of a point x by an unit quaterion q is given by

  x' = q * x * conj(q).

conj(q) corresponds to the conjugation of a quaternion q (see quat_conjugatequat_conjugatequat_conjugateQuatConjugateQuatConjugate). 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.

Attention

The operator quat_rotate_point_3dquat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d does not check whether QuaternionQuaternionQuaternionQuaternionquaternion is a unit quaternion. If QuaternionQuaternionQuaternionQuaternionquaternion is not a unit quaternion, the result of this operator is not defined.

Parallelization

Parameters

QuaternionQuaternionQuaternionQuaternionquaternion (input_control)  quaternion-array HQuaternion, HTupleHTupleHQuaternionX, VARIANTHtuple (real) (double) (double) (double) (double)

Rotation quaternion.

PxPxPxPxpx (input_control)  real HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

X coordinate of the point to be rotated.

PyPyPyPypy (input_control)  real HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Y coordinate of the point to be rotated.

PzPzPzPzpz (input_control)  real HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Z coordinate of the point to be rotated.

QxQxQxQxqx (output_control)  real HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

X coordinate of the rotated point.

QyQyQyQyqy (output_control)  real HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Y coordinate of the rotated point.

QzQzQzQzqz (output_control)  real HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Z coordinate of the rotated point.

Possible Predecessors

axis_angle_to_quataxis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat

See also

axis_angle_to_quataxis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat, quat_to_hom_mat3dquat_to_hom_mat3dquat_to_hom_mat3dQuatToHomMat3dQuatToHomMat3d, quat_composequat_composequat_composeQuatComposeQuatCompose, quat_normalizequat_normalizequat_normalizeQuatNormalizeQuatNormalize, quat_conjugatequat_conjugatequat_conjugateQuatConjugateQuatConjugate, quat_interpolatequat_interpolatequat_interpolateQuatInterpolateQuatInterpolate

Module

Foundation


Table of Contents / Transformations / Quaternions ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH