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/