Quaternion 函数

详细描述

函数

Quaternion   QSlerp (const Quaternion &q1, const Quaternion &q2, Float64 alfa)
Quaternion   QSquad (const Quaternion &q0, const Quaternion &q1, const Quaternion &q2, const Quaternion &q3, Float64 alfa)
Quaternion   QBlend (const Quaternion &q1, const Quaternion &q2, const Float64 r)
Quaternion   QSpline (const Quaternion &qn_m1, const Quaternion &qn, const Quaternion &qn_p1, const Quaternion &qn_p2, Float64 t)
Quaternion   QSmoothCubic (const Quaternion &qn_m1, const Quaternion &qn, const Quaternion &qn_p1, Float64 t)
Quaternion   QNorm (const Quaternion &q)
Quaternion   QMul (const Quaternion &q1, const Quaternion &q2)
Quaternion   QMul (const Quaternion &q, Float64 s)
Quaternion   QAdd (const Quaternion &q1, const Quaternion &q2)
Quaternion   QSub (const Quaternion &q1, const Quaternion &q2)
Quaternion   QInvert (const Quaternion &q)
Float64   QDot (const Quaternion &q1, const Quaternion &q2)
Quaternion   QDeriv (const Quaternion &q, const Vector64 &w)
Quaternion   QLogN (const Quaternion &q)
Quaternion   QExpQ (const Quaternion &q)

Function Documentation

◆  QSlerp()

Quaternion QSlerp ( const Quaternion q1 ,
const Quaternion q2 ,
Float64   alfa  
)

Linear interpolates the quaternions q1 and q2 with the parameter alpha .

参数
[in] q1 The first quaternion.
[in] q2 The second quaternion.
[in] alfa The interpolation parameter. Between 0.0 ( q1 ) 和 1.0 ( q2 ).
返回
The interpolated quaternion.

◆  QSquad()

Quaternion QSquad ( const Quaternion q0 ,
const Quaternion q1 ,
const Quaternion q2 ,
const Quaternion q3 ,
Float64   alfa  
)

Cubic interpolates the quaternions q1 and q2 with parameter alpha using spherical quadrangle interpolation. q0 and q3 are used to provide C1-continuity at the borders (tangents): q0 = i-1, q1 = i, q2 = i+1, q3 = i+2

参数
[in] q0 The first quaternion to provide continuity.
[in] q1 The first quaternion to interpolate from.
[in] q2 The second quaternion to interpolate from.
[in] q3 The second quaternion to provide continuity.
[in] alfa The interpolation parameter. Between 0.0 ( q1 ) 和 1.0 ( q2 ).
返回
The interpolated quaternion.

◆  QBlend()

Quaternion QBlend ( const Quaternion q1 ,
const Quaternion q2 ,
const Float64   r  
)

Smooth interpolates the quaternions q1 and q2 with parameter r .

参数
[in] q1 The first quaternion.
[in] q2 The second quaternion.
[in] r The blending parameter. Between 0.0 ( q1 ) 和 1.0 ( q2 ).
返回
The interpolated quaternion.

◆  QSpline()

Quaternion QSpline ( const Quaternion qn_m1 ,
const Quaternion qn ,
const Quaternion qn_p1 ,
const Quaternion qn_p2 ,
Float64   t  
)

Smooth blends the quaternions qn and qn_p1 using spherical spline interpolation with parameter t .
qn_m1 ( -1 ) and qn_p2 ( -1+2 ) are used to provide C1-continuity at the borders (tangents).

参数
[in] qn_m1 The first quaternion ( -1 ) to provide continuity.
[in] qn The first quaternion to interpolate from.
[in] qn_p1 The second quaternion to interpolate from.
[in] qn_p2 The second quaternion ( +2 ) to provide continuity.
[in] t The blending parameter. Between 0.0 ( qn ) 和 1.0 ( qn_p1 ).
返回
The interpolated quaternion.

◆  QSmoothCubic()

Quaternion QSmoothCubic ( const Quaternion qn_m1 ,
const Quaternion qn ,
const Quaternion qn_p1 ,
Float64   t  
)

Smooth blends the quaternions qn and qn_p1 using Cubic interpolation with parameter t .
qn_m1 ( -1 ) and qn_p2 ( -1+2 ) are used to provide C1-continuity at the borders (tangents).

由于
R18
参数
[in] qn_m1 The first quaternion ( -1 ) to provide continuity.
[in] qn The first quaternion to interpolate from.
[in] qn_p1 The second quaternion to interpolate from.
[in] t The blending parameter. Between 0.0 ( qn ) 和 1.0 ( qn_p1 ).
返回
The interpolated quaternion.

◆  QNorm()

Quaternion QNorm ( const Quaternion q )

Gets a normalized copy of quaternion q .

参数
[in] q The quaternion to normalize.
返回
A normalized copy of q .

◆  QMul() [1/2]

Quaternion QMul ( const Quaternion q1 ,
const Quaternion q2  
)

Calculates the quaternion product of quaternions q1 and q2 .

参数
[in] q1 The first quaternion.
[in] q2 The second quaternion.
返回
The quaternion product of q1 and q2 .

◆  QMul() [2/2]

Quaternion QMul ( const Quaternion q ,
Float64   s  
)

Calculates the product of quaternion q with scalar s .

参数
[in] q The quaternion.
[in] s The scalar.
返回
The product of q with s .

◆  QAdd()

Quaternion QAdd ( const Quaternion q1 ,
const Quaternion q2  
)

Calculates the quaternion addition of quaternions q1 and q2 .

参数
[in] q1 The first quaternion.
[in] q2 The second quaternion.
返回
The quaternion addition of q1 and q2 .

◆  QSub()

Quaternion QSub ( const Quaternion q1 ,
const Quaternion q2  
)

Calculates the quaternion subtraction of quaternions q1 and q2 .

参数
[in] q1 The first quaternion.
[in] q2 The second quaternion.
返回
The quaternion subtraction of q1 and q2 .

◆  QInvert()

Quaternion QInvert ( const Quaternion q )

Calculates the inverse of quaternion q .

参数
[in] q The quaternion.
返回
The quaternion inverse of q .

◆  QDot()

Float64 QDot ( const Quaternion q1 ,
const Quaternion q2  
)

Calculates the Dot Product between q1 and q2 .

由于
R18
参数
[in] q1 The first quaternion.
[in] q2 The second quaternion.
返回
The Dot Product of q1 and q2 .

◆  QDeriv()

Quaternion QDeriv ( const Quaternion q ,
const Vector64 w  
)

Calculates the derivative of quaternion q by vector w .

参数
[in] q The quaternion.
[in] w The vector.
返回
The quaternion derivative of q by w .

◆  QLogN()

Quaternion QLogN ( const Quaternion q )

Calculates the natural logarithm of quaternion q .

参数
[in] q The quaternion.
返回
The natural logarithm of q .

◆  QExpQ()

Quaternion QExpQ ( const Quaternion q )

Calculates the exponential of quaternion q .

参数
[in] q The quaternion.
返回
The exponential of q .