|Re: [eigen] Do we need geometry refactoring?|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Do we need geometry refactoring?
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Thu, 29 Jul 2010 09:23:27 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=GOdbCxC743uj0KPuUsIzl5OU3SEFQ8q5Esm6MuW1FRg=; b=vNr6K/V2ORO/RBFpi0M23HHt7HJ2ie5VcVKwHoRNopj/orW0HZUMNxBaxrRIwiAPx6 hkeHOxaaq6ZnxAQPAkK9HlW5etfjns8rChFRX2L9nCJNeT3W8PdwKrFLFiAWxU6+GNn0 cWNJnzJJtNrFO29ZiVz9BefaKJkLhaMIyulmI=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=ruORoKDlwkDTkf9w14PfCXR8FpoGAp3UjO3ZgBDuk19ahDQTCAsXdD9VOZP1sNEaa0 nIMmzsli9LbpQ3EAlA8ZIQ4YmA+/CnP/m0UQEIJGzKWCY4ZGkfdxQfat0hOaDA88BdTo eqdElSBc1qmKaJqA7GMMKGKgajxNYNQUXE8Fg=
2010/7/29 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
> I forgot to comment on this before...
> On Thu, Jul 29, 2010 at 2:45 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
>>>> Ok, the question is actually whether we want Translation, Quaternion,
>>>> etc. behave like Transformations?
>> Translation and Quaternion are different beasts here.
>> The reason for Transform to exist is to represent non-linear (i.e.
>> affine/projective) transformations.
> Isn't it only the projective part that makes the whole thing
> non-linear? It that were true, you have like 2/3rd of the cases being
> linear ones.
Linear (in this context) means f(ax+by) = af(x)+bf(y). (Equivalently
it means "a matrix transformation without using any homogeneous
coords".) That entails in particular f(0)=0. So translations are
nonlinear, so isometries and general affine transforms are nonlinear ,
unless of course their translation component is 0.
>> Translation is indeed a special case of that. But a Quaternion of norm
>> 1 represents a rotation which is linear, so there is no reason to
>> bother about Transform here; instead we unify Quaternion with other
>> rotations in RotationBase and we take care once and for all of the
>> interplay of rotations with general Transformations.
> I was primarily thinking about adding methods
> ::matrix() (returns a homogenous matrix)
> ::linear() (returns a pure matrix)
> ::translation (same as ::matrix(), read only expression)
What do you mean when you say that ::translation() is the same as ::matrix() ?
I agree about having these method in all geometry classes for
consistency although I wonder about their usefulness in the cases
where they would be trivial (i.e. linear() in Translation).
> We already have toRotationMatrix() and again it was the different
> naming that confused me.
> - Hauke