|Re: [eigen] geometry module|
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
That said, either what you propose (quaternion+vector) or a "dual quaternion" class as has been discussed previously on this list, would be interesting. We just happen not to have that yet.
I have indeed proposed a representation of 3D position, velocity and forces based on the lie group formalism. (see link at the end to the mail). With position stored as quaternion and vector3, both aligned and 3d velocity and force inherited from Matrix<Scalar, 6 ,1>. This module could easily be extended to a 2D setup since, a 2D position could also be represented as an element of a Lie Group. I also have some functions implemented such as log and exponential used to derivate or integrate positions and velocities.
I recently modify my code to use a recent revision of the Eigen dev branch. But, there are many missing things, documentation, unit tests, alignment for map object and interface with Transform objects. I also had some inlining issues with visual studio. I hadn't find enough spared time to do this, that's why I couldn't provide anything since last april.
By the way, I found that I didn't provide the few slides I made for the last meeting. I put them in the attachement.
quaternion + vector : lie group formalism http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2009/11/msg00211.html double quaternion : http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2009/09/msg00098.html -- Mathieu Gautier
Description: Adobe PDF document
|Mail converted by MHonArc 2.6.19+||http://listengine.tuxfamily.org/|