Re: [eigen] Eigen and rigid body simulation |

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]

*To*: eigen@xxxxxxxxxxxxxxxxxxx*Subject*: Re: [eigen] Eigen and rigid body simulation*From*: Mathieu Gautier <mathieu.gautier@xxxxxx>*Date*: Fri, 27 Nov 2009 10:34:10 +0100

I'm slowly, very slowly understanding what this is about: I know zero about mechanics.

*** Quick Summary: The 3 first classes Quaternion, Displacement, AngularVelocity are potentially interfering with geometric concepts that we have to that we may want to have in Eigen. As such, we must be very careful of integrating them with Eigen, ideally stripping them from any physical content and making them purely geometric. The 3 last classes Twist, Torque, Wrench are not a problem, being 100% specific to mechanics it doesn't hurt to have them in an unsupported module, they don't interfere with the rest of Eigen.

Mechanics it's just a field of application.

* a Wrench is a member to the dual Lie aglebra se*(3) of se(3). * a Torque is a member of so*(3) dual of so(3).

***

I am unclear on the respective merits of such a Displacement class vs. DualQuaternion and I don't have the expertise to fully understand your reply to Rohit's mail. I can see how indeed such a Displacement class allows for smooth interpolation. In any case, we could have both Displacement and DualQuaternion; perhaps renaming Displacement to QuatAndTranslation would help disambiguate with other representations such as DualQuaternion.

Quaternion should really be unified with the existing Quaternion. I don't think that restricting it to unit quatenions is a good enough reason to make it a separate class

So it would help a lot if you could rename AngularVelocity to something that doesn't involve the physical notion of time. What you really mean is "an element of the Lie algebra so(3)", right? I don't know much about that but perhaps there is a name for these elements. Or perhaps just call them LieAlgSo3.

Exactly, it's the little list I put at the beginning of this mail.

Assuming that Quaternion, Displacement, AngularVelocity are absorbed into Eigen itself in the way described above, there remain the following classes in your proposed new module: Twist, Torque, Wrench

Am I correct in understanding that they are just derivatives (withrespect to time) of existing classes Quaternion and Displacement?

I can't decide for you whether to have them as separate classes. About what you write above:NB: This class is optional, and is only needed for strong typing.here I would say: if it's only needed for strong typing, then refrain from introducing such a class. We rejected a Point class (same as Vector, just for strong typing) for that exact reason. However in your case there may be stronger reasons to introduce these classes: - they represent physical quantities of distinct dimensions/units - you might have distinct code in each of them, i didn't check.

-- Mathieu

**Follow-Ups**:**Re: [eigen] Eigen and rigid body simulation***From:*Benoit Jacob

**References**:**[eigen] Eigen and rigid body simulation***From:*Mathieu Gautier

**Re: [eigen] Eigen and rigid body simulation***From:*Christian Mayer

**Re: [eigen] Eigen and rigid body simulation***From:*Mathieu Gautier

**Re: [eigen] Eigen and rigid body simulation***From:*Thomas Capricelli

**Re: [eigen] Eigen and rigid body simulation***From:*Mathieu Gautier

**Re: [eigen] Eigen and rigid body simulation***From:*Benoit Jacob

**Re: [eigen] Eigen and rigid body simulation***From:*Benoit Jacob

**Re: [eigen] Eigen and rigid body simulation***From:*Mathieu Gautier

**Re: [eigen] Eigen and rigid body simulation***From:*Benoit Jacob

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] Eigen and rigid body simulation** - Next by Date:
**Re: [eigen] Eigen and rigid body simulation** - Previous by thread:
**Re: [eigen] Eigen and rigid body simulation** - Next by thread:
**Re: [eigen] Eigen and rigid body simulation**

Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |