Re: [eigen] Rigid transformations in eigen: use of dual quaternions |
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
>> For what-are-dual-quaternions, look at the paper here >> >> http://isg.cs.tcd.ie/projects/DualQuaternions/ > > Hm that page wasn't very explicit, but I found this: > > http://en.wikipedia.org/wiki/Dual_quaternion Must have been taken down. Paper attached. > > Now I understand that this notion makes a lot of sense and is useful > to have in Geometry. They are also simple to describe theoretically, > as they're of the form q1 + epsilon * q2 where q1,q2 are quaternions > and epsilon is subject to the algebraic rule epsilon^2=0. > > Quote from the wikipedia: "Similar to the way that rotations in 3D > space can be represented by quaternions of unit length, rigid motions > in 3D space can be represented by dual quaternions of unit length." > > So i'd say, green light to add a dual quaternion class to Geometry. > >> Rigid transformation is transformation that preserves a rigid body (ie >> distance and angle preserving). Translation, rotations, reflections >> do. Scaling and shearing don't. > > Oh, I see. So what they call a "rigid transformation" is what's been > called an isometry for a century. Why do computer scientists have to > rename everything ? :) Physicists call it rigid transformation too... :) >> All in all, dual quaternions are to rigid transformations what >> quaternions are to 3D rotations. The biggest advantage is to treat >> rotation and translation in a unified framework. > > If it were just that, we have the Transform class. But I understand > that the dual quaternion representation allows for that interesting > slerp-like interpolation, i can believe it's useful, and dual > quaternions have a wikipedia page mentioning applications to 3D > graphics, so, no need to convince me any more than that. I'd say, go > for it! The advantages are cheaper to store, cheaper to compose, more stable and interpolation. In that sense, they correspond to the advantages of quaternions over matrices. Question: can you map a piece of memory as a Quaternion<datatype> (with vectorization)? Like the question I raised earlier today where a vec4i wasn't vectorized. If you can, it is trivial to do with all the expression template goodness. Even I'll be able to do it then. :) -- Rohit Garg http://rpg-314.blogspot.com/ Senior Undergraduate Department of Physics Indian Institute of Technology Bombay
Attachment:
dualQuats.pdf
Description: Adobe PDF document
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |