27 p.
x = (1 - t) * p0.
x + t * p1.
x;
28 p.
y = (1 - t) * p0.
y + t * p1.
y;
29 p.
z = (1 - t) * p0.
z + t * p1.
z;
void slerp_ypr(const mrpt::math::TPose3D &q0, const mrpt::math::TPose3D &q1, const double t, mrpt::math::TPose3D &p)
void slerp(const CQuaternion< T > &q0, const CQuaternion< T > &q1, const double t, CQuaternion< T > &q)
SLERP interpolation between two quaternions.
double roll
Roll coordinate (rotation angle over X coordinate).
double yaw
Yaw coordinate (rotation angle over Z axis).
This base provides a set of functions for maths stuff.
void getAsQuaternion(mrpt::math::CQuaternion< double > &q, mrpt::optional_ref< mrpt::math::CMatrixFixed< double, 4, 3 >> out_dq_dr=std::nullopt) const
Returns the quaternion associated to the rotation of this object (NOTE: XYZ translation is ignored) ...
double pitch
Pitch coordinate (rotation angle over Y axis).
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).
A quaternion, which can represent a 3D rotation as pair , with a real part "r" and a 3D vector ...
void rpy(T &roll, T &pitch, T &yaw) const
Return the yaw, pitch & roll angles associated to quaternion.