Back to class index
Quat[Class Summary]
x
y
z
w
identity[static][const]
nan[static][const]
ctor (+7 overloads)
WorldX()[const]
WorldY()[const]
WorldZ()[const]
Axis()[const]
Angle()[const]
Dot(rhs)[const]
LengthSq()[const]
Length()[const]
Normalize()
Normalized()[const]
IsNormalized(epsilon)[const]
IsInvertible(epsilon)[const]
IsFinite()[const]
Equals(rhs,epsilon)[const]
BitEquals(other)[const]
ptr() (+1 overload)
Inverse()
Inverted()[const]
InverseAndNormalize()
Conjugate()
Conjugated()[const]
Transform(x,y,z)[const] (+2 overloads)
Lerp(target,t)[const]
Slerp(target,t)[const]
AngleBetween(target)[const]
AxisFromTo(target)[const]
ToAxisAngle(...)[const] (+1 overload)
SetFromAxisAngle(...) (+1 overload)
Set(matrix) (+3 overloads)
ToEulerXYX()[const]
ToFloat3x3()[const]
ToFloat3x4()[const]
ToFloat4x4()[const] (+2 overloads)
ToString()[const]
ToString2()[const]
SerializeToString()[const]
SerializeToCodeString()[const]
operator*(rhs)[const] (+2 overloads)
operator/(rhs)[const]
operator+()[const]
Mul(rhs)[const] (+3 overloads)
Neg()[const]
Lerp(source,target,t)[static]
Slerp(source,target,t)[static]
SlerpVector(from,to,t)[static]
SlerpVectorAbs(...)[static]
LookAt(...)[static]
RotateX(angleRadians)[static]
RotateY(angleRadians)[static]
RotateZ(angleRadians)[static]
RotateAxisAngle(...)[static]
RotateFromTo(...)[static] (+2 overloads)
FromEuler***(x2,y,x)[static]
RandomRotation(lcg)[static]
FromString(str,outEndStr)[static] (+1 overload)

Quat::SlerpVector

Syntax

MUST_USE_RESULT float3 Quat::SlerpVector(const float3 &from, const float3 &to, float t); [11 lines of code]

Returns the 'from' vector rotated towards the 'to' vector by the given normalized time parameter.

This function slerps the given 'from' vector towards the 'to' vector.

Parameters

const float3 &fromA normalized direction vector specifying the direction of rotation at t=0. const float3 &toA normalized direction vector specifying the direction of rotation at t=1. floattThe interpolation time parameter, in the range [0,1]. Input values outside this range are silently clamped to the [0, 1] interval.

Return Value

A spherical linear interpolation of the vector 'from' towards the vector 'to'.

Work in progress:

Todo: in MUST_USE_RESULT float3 Quat::SlerpVector(const float3 &from, const float3 &to, float t):
The following chain can be greatly optimized.