Operator Reference

quat_composeT_quat_composeQuatComposeQuatComposequat_compose (Operator)

quat_composeT_quat_composeQuatComposeQuatComposequat_compose — Multiply two quaternions.

Signature

Herror T_quat_compose(const Htuple QuaternionLeft, const Htuple QuaternionRight, Htuple* QuaternionComposed)

void QuatCompose(const HTuple& QuaternionLeft, const HTuple& QuaternionRight, HTuple* QuaternionComposed)

HQuaternion HQuaternion::QuatCompose(const HQuaternion& QuaternionRight) const

def quat_compose(quaternion_left: Sequence[float], quaternion_right: Sequence[float]) -> Sequence[float]

Description

The operator quat_composequat_composeQuatComposeQuatComposequat_compose multiplies the two quaternions QuaternionLeftQuaternionLeftQuaternionLeftquaternionLeftquaternion_left and QuaternionRightQuaternionRightQuaternionRightquaternionRightquaternion_right and returns the result in QuaternionComposedQuaternionComposedQuaternionComposedquaternionComposedquaternion_composed.

A quaternion is given by . In HALCON, a quaternion is represented by a four value tuple: .

The product of two quaternions and is defined as:

As a consequence, the multiplication of two quaternions is not commutative, i.e. .

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

QuaternionLeftQuaternionLeftQuaternionLeftquaternionLeftquaternion_left (input_control)  quaternion HQuaternion, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Left quaternion.

QuaternionRightQuaternionRightQuaternionRightquaternionRightquaternion_right (input_control)  quaternion HQuaternion, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Right quaternion.

QuaternionComposedQuaternionComposedQuaternionComposedquaternionComposedquaternion_composed (output_control)  quaternion HQuaternion, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Product of the input quaternions.

Possible Predecessors

axis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuataxis_angle_to_quat

Possible Successors

quat_to_hom_mat3dquat_to_hom_mat3dQuatToHomMat3dQuatToHomMat3dquat_to_hom_mat3d, quat_to_posequat_to_poseQuatToPoseQuatToPosequat_to_pose, quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d

See also

axis_angle_to_quataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuataxis_angle_to_quat, quat_to_hom_mat3dquat_to_hom_mat3dQuatToHomMat3dQuatToHomMat3dquat_to_hom_mat3d, quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d, quat_normalizequat_normalizeQuatNormalizeQuatNormalizequat_normalize, quat_conjugatequat_conjugateQuatConjugateQuatConjugatequat_conjugate, dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposedual_quat_compose

Module

Foundation