35 (1-
t)*p0.
x()+
t*p1.
x(),
36 (1-
t)*p0.
y()+
t*p1.
y(),
37 (1-
t)*p0.z()+
t*p1.z() );
49 q.x( (1-
t)*q0.
x()+
t*q1.
x() );
50 q.y( (1-
t)*q0.
y()+
t*q1.
y() );
51 q.z( (1-
t)*q0.z()+
t*q1.z() );
62 q.rpy(
p.roll,
p.pitch,
p.yaw);
A quaternion, which can represent a 3D rotation as pair , with a real part "r" and a 3D vector ,...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
void getAsQuaternion(mrpt::math::CQuaternionDouble &q, mrpt::math::CMatrixFixedNumeric< double, 4, 3 > *out_dq_dr=NULL) const
Returns the quaternion associated to the rotation of this object (NOTE: XYZ translation is ignored)
A class used to store a 3D pose as a translation (x,y,z) and a quaternion (qr,qx,qy,...
mrpt::math::CQuaternionDouble & quat()
Read/Write access to the quaternion representing the 3D rotation.
double x() const
Common members of all points & poses classes.
GLdouble GLdouble GLdouble GLdouble q
void slerp(const CQuaternion< T > &q0, const CQuaternion< T > &q1, const double t, CQuaternion< T > &q)
SLERP interpolation between two quaternions.
void BASE_IMPEXP slerp_ypr(const mrpt::math::TPose3D &q0, const mrpt::math::TPose3D &q1, const double t, mrpt::math::TPose3D &p)
This base provides a set of functions for maths stuff.
@ UNINITIALIZED_QUATERNION
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).
void getAsQuaternion(mrpt::math::CQuaternion< double > &q, mrpt::math::CMatrixFixedNumeric< double, 4, 3 > *out_dq_dr=NULL) const
Returns the quaternion associated to the rotation of this object (NOTE: XYZ translation is ignored)