ClassesClassesClassesClasses | | | | Operators

quat_interpolateT_quat_interpolateQuatInterpolatequat_interpolateQuatInterpolateQuatInterpolate (Operator)

Name

quat_interpolateT_quat_interpolateQuatInterpolatequat_interpolateQuatInterpolateQuatInterpolate — Interpolation of two quaternions.

Signature

quat_interpolate( : : QuaternionStart, QuaternionEnd, InterpPos : QuaternionInterpolated)

Herror T_quat_interpolate(const Htuple QuaternionStart, const Htuple QuaternionEnd, const Htuple InterpPos, Htuple* QuaternionInterpolated)

Herror quat_interpolate(const HTuple& QuaternionStart, const HTuple& QuaternionEnd, const HTuple& InterpPos, HTuple* QuaternionInterpolated)

void QuatInterpolate(const HTuple& QuaternionStart, const HTuple& QuaternionEnd, const HTuple& InterpPos, HTuple* QuaternionInterpolated)

HQuaternion HQuaternion::QuatInterpolate(const HQuaternion& QuaternionEnd, const HTuple& InterpPos) const

void HOperatorSetX.QuatInterpolate(
[in] VARIANT QuaternionStart, [in] VARIANT QuaternionEnd, [in] VARIANT InterpPos, [out] VARIANT* QuaternionInterpolated)

IHQuaternionX* HQuaternionX.QuatInterpolate(
[in] IHQuaternionX* QuaternionEnd, [in] VARIANT InterpPos)

static void HOperatorSet.QuatInterpolate(HTuple quaternionStart, HTuple quaternionEnd, HTuple interpPos, out HTuple quaternionInterpolated)

HQuaternion HQuaternion.QuatInterpolate(HQuaternion quaternionEnd, HTuple interpPos)

Description

The operator quat_interpolatequat_interpolateQuatInterpolatequat_interpolateQuatInterpolateQuatInterpolate interpolates the two quaternions QuaternionStartQuaternionStartQuaternionStartQuaternionStartQuaternionStartquaternionStart and QuaternionEndQuaternionEndQuaternionEndQuaternionEndQuaternionEndquaternionEnd at the interpolation position InterpPosInterpPosInterpPosInterpPosInterpPosinterpPos. This position must lie within the interval [0,1]. In the case of InterpPosInterpPosInterpPosInterpPosInterpPosinterpPos=0, the interpolated quaternion QuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedquaternionInterpolated corresponds to QuaternionStartQuaternionStartQuaternionStartQuaternionStartQuaternionStartquaternionStart. In the case of InterpPosInterpPosInterpPosInterpPosInterpPosinterpPos=1, the interpolated quaternion QuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedquaternionInterpolated corresponds to QuaternionEndQuaternionEndQuaternionEndQuaternionEndQuaternionEndquaternionEnd.

The interpolation is done using spherical linear interpolation. As a consequence if both QuaternionStartQuaternionStartQuaternionStartQuaternionStartQuaternionStartquaternionStart and QuaternionEndQuaternionEndQuaternionEndQuaternionEndQuaternionEndquaternionEnd are rotation quaternions, QuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedquaternionInterpolated will be a rotation quaternion as well. Further, if InterpPosInterpPosInterpPosInterpPosInterpPosinterpPos is increased at constant speed, a point on the unit sphere that is rotated using QuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedquaternionInterpolated travels with constant speed on an arc on the unit sphere.

Parallelization

Parameters

QuaternionStartQuaternionStartQuaternionStartQuaternionStartQuaternionStartquaternionStart (input_control)  quaternion HQuaternion, HTupleHTupleHTupleHQuaternionX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Start quaternion.

QuaternionEndQuaternionEndQuaternionEndQuaternionEndQuaternionEndquaternionEnd (input_control)  quaternion HQuaternion, HTupleHTupleHTupleHQuaternionX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

End quaternion.

InterpPosInterpPosInterpPosInterpPosInterpPosinterpPos (input_control)  real-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Interpolation parameter.

Default value: 0.5

Suggested values: 0.0, 0.25, 0.5, 0.75, 1.0

QuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedQuaternionInterpolatedquaternionInterpolated (output_control)  quaternion HQuaternion, HTupleHTupleHTupleHQuaternionX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Interpolated quaternion.

Possible Predecessors

axis_angle_to_quataxis_angle_to_quatAxisAngleToQuataxis_angle_to_quatAxisAngleToQuatAxisAngleToQuat, quat_normalizequat_normalizeQuatNormalizequat_normalizeQuatNormalizeQuatNormalize

Possible Successors

quat_to_hom_mat3dquat_to_hom_mat3dQuatToHomMat3dquat_to_hom_mat3dQuatToHomMat3dQuatToHomMat3d, quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d, quat_to_posequat_to_poseQuatToPosequat_to_poseQuatToPoseQuatToPose

See also

quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3d, quat_conjugatequat_conjugateQuatConjugatequat_conjugateQuatConjugateQuatConjugate, quat_composequat_composeQuatComposequat_composeQuatComposeQuatCompose, dual_quat_interpolatedual_quat_interpolateDualQuatInterpolatedual_quat_interpolateDualQuatInterpolateDualQuatInterpolate

Module

Foundation


ClassesClassesClassesClasses | | | | Operators