RE: [eigen] Creating a EulerAngle object |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: <eigen@xxxxxxxxxxxxxxxxxxx>
- Subject: RE: [eigen] Creating a EulerAngle object
- From: <hamelin.philippe@xxxxxxx>
- Date: Wed, 22 Feb 2012 07:40:22 -0500
- Thread-index: Aczw6OenWvr5yqEjSZu2l4vqCO6y4gAdMHpQ
- Thread-topic: [eigen] Creating a EulerAngle object
> -----Message d'origine-----
> De : Listengine [mailto:listengine@xxxxxxxxxxxxxxxxx] De la
> part de Gael Guennebaud
> Envoyé : 21 février 2012 17:33
> À : eigen@xxxxxxxxxxxxxxxxxxx
> Objet : Re: [eigen] Creating a EulerAngle object
>
> On Mon, Feb 20, 2012 at 10:26 PM, Christoph Hertzberg
> <chtz@xxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> >> 4. (Nice to have) Be able to use the EulerAngle in any
> rotation arithmetic
> >> (e.g. result = quaterion1 * eulerAngle * affine3d);
> >
> >
> > I guess this more or less can be solved by solving 2, i.e.
> just convert to a
> > 3x3 matrix (or whatever) temporarily.
> >
> >> Looking the at the page "Extending Eigen"
> >>
> (http://eigen.tuxfamily.org/dox-devel/TopicCustomizingEigen.ht
ml<http://eigen.tuxfamily.org/dox-> devel/TopicCustomizingEigen.html>
> >> ), i'm not really sure that I want to inherit directly
> from Matrix and then
> >> re-implement everything. I guess the good way is to inherit from
> >> RotationBase much the same way as the Quaternion object.
> Am I wrong?
> >
> >
> > I agree that inheriting from RotationBase is better. I
> think beneath the
> > scalar type you should encode the axis-order using three
> template parameters
> > (maybe defaulting to "the most common" convention).
>
> Inheriting RotationBase is indeed the best approach for that. You can
> take inspiration from the AngleAxis class.
>
> Alos don't miss the eulerAngle(int,int,int) method in Eigen which
> allows to convert a 3x3 rotation matrix to any Euler angle convention.
> You might also have a look at the EulerAngle class we had during the
> alpha versions of Eigen 2.0 :
> https://bitbucket.org/eigen/eigen/src/42e749aa2451/disabled/Eu
> lerAngles.h
> though it is rather out of date and limited to a single convention.
>
I didn't know there already had a EulerAngles object. It really looks like the same thing that I coded yesterday :-). I also used the eulerAngles(int,int,int) method instead of using literal equations like in the alpha version. Why it didn't pass the alpha stage?
If I complete the alpha version with extra parameters for specifying the convention, will it be accepted as a patch in the mainline?
Philippe Hamelin