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: Rohit Garg <rpg.314@xxxxxxxxx>
- Date: Sat, 12 Sep 2009 21:21:05 +0530
- 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=Q2aT3c/nwbmXwtK10vPODeQaGoGfTGVDxcnKNQWB7/0=; b=x930sqvrQdcZ4rWtGFj4cdDkVSH60/euz35ylsdFxN15hivwiIgCYx/v2HdztHxbvg R59qDkDVrWXPFaMPFhq81B2Hj6O84SQDeztyy+3rYkZTuwiXQ+Mt5I4wIWlshkB5iajQ QEDMjdYJhP6ob6w45A+QqSYZj0gMKFP4dwAW0=
- 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=atpOZtZHnAOQ+pqhhhbetvf78K08+052f2mYme6d9rg5t+IDH4x0q9FQtpBme+exNk hf41JN6ftMLnbyac/WnclRh4R2BqPnDlg89n1aooHlaqJjoTJZdUIxhNaiEYEhmayp6n BWrxaF+grZtCD7iruNT4XJr3OcN7CNqtw+PZM=
On Sat, Sep 12, 2009 at 8:38 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
> 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.
As long as they are efficient, I can write them inside my dual
quaternion class once and for all.
>
> 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
>>>
>>>
>>>
>>
>
>
>
--
Rohit Garg
http://rpg-314.blogspot.com/
Senior Undergraduate
Department of Physics
Indian Institute of Technology
Bombay