Re: [eigen] Re: Rigid transformations in eigen: use of dual quaternions |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Re: Rigid transformations in eigen: use of dual quaternions
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Sat, 12 Sep 2009 11:08:14 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=Vb1wlKU+EKDxcQjDVFrnlT+IeAo9hbF/AUs+xz00208=; b=DRDHQe8x6YFml/CVNyOpwO8E+lLU1XPm4aZa8tYAgDjsluxKmP4W68S1dg3Qy20Ss/ jjTdZOSvGOMw4keGHheNJa64XSaa7gcqvfBCDtSQBIe2FA4A4/gLTDyjrdddeDuhehIi KbEanQcj5rm7HNTIZKEYnKnnWc9T/jHbUlCOQ=
- 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=s4k5ZLXUxgnrS/nbAeXcPeSwhlKoqs7NftD+Tx1PObh7prR+6Qmey2wMl8K4jLkoQQ 0CbV/V0TjA8jbZ5lLPfPY29+3HXC05xQW+hStbA7lShkjd8+Nvbrju5z0GSho+x3cnZc ybk6Wir+WZA5Kdd405Shx2Egikk0iYC9/AQNY=
Just one quick note:
if you need efficient operator + * etc... NOW, you can always do this
on the underlying vector of coefficients:
Quaternionf result = Quaternionf( s1 * q1.coeffs() + s2 * q2.coeffs() );
In this way, you get all the power of expression templates. The only
drawback is how it's heavy to have to write coeffs() and the
conversion constructor.
Perhaps that's good enough that we don't have to worry more about
expression templates for quaternions?
Benoit
2009/9/12 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
> 2009/9/12 Rohit Garg <rpg.314@xxxxxxxxx>:
>>> But are you sure that what you're trying to do with s1*q1+s2*q2 isn't
>>> just the same as slerp() ? because it looks seriously reminiscent of
>>> it!
>>
>> The form is like that, but it is not slerp. That would have made my
>> job so much easier :|
>
> OK so we have several options here.
>
> The easiest is to add a method interpolate(q1,q2,s1,s2) to Quaternion,
> returning a Quaternion.
> It could even take care of normalizing the result (i guess you want that too?)
>
> Would that be enough for you?
>
> Otherwise, if we need expression templates in Quaternion, well I think
> I remember the big issue now: Quaternion already inherits
> RotationBase, so it would mean multiple inheritance if it also
> inherited MatrixBase. I didn't think more, so I don't know where to go
> from here.
>
> Benoit (will reply to other email later, have to go now)
>
>>
>> --
>> Rohit Garg
>>
>> http://rpg-314.blogspot.com/
>>
>> Senior Undergraduate
>> Department of Physics
>> Indian Institute of Technology
>> Bombay
>>
>>
>>
>