|Re: [eigen] Eigen and rigid body simulation|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
I was confused that you called these functions log() and exp()
yes, it's a little bit tricky because there's two different exponential
function, and both have a mathematical definition.
1/ the exponential of quaternion generalize the exponential of complex
number to quaternion. This exponential is actually useless for rigid
2/ the exponential of an element of the Lie algebra so(3) (Angular
Velocity) return an element of the Lie group SO(3) which are in fact the
This exponential function is defined by the sum of 1/k! A^k with k in
[0; infinity[ where A is in SO(3). This exponential links a rotation and
the angular velocity.
The main problem is that we choose to represent a rotation with a
quaternion. It's very usefull, but have some drawbacks. For example,
adding two quaternions have no meanings when these quaternion represents
rotation. That's why I introduce a Rotation3D to reflects this
I don't know if it's better to have a class Quaternion to represents the
classical quaternion and another class to represents 3D rotation with a
link (inheritance, ownership) to this Quaternion class.