|Re: [eigen] Re: Rigid transformations in eigen: use of dual quaternions|
[ Thread 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 20:20:31 +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=Ihlz7B5B6mb6TfhvL4FYuFnNXZPPnFi8Fodq4K6C+qg=; b=cVB+tjopgKBQPpfE3jBNUtaNHspTT8LTOvKNrybSQ65LhcrMriSDiNRjStuXf1N+DY DDijWgIto/QXYu3s5KBdSATZNbKdnrk8Sdecrbn+aefwf6+myOEsR+262BOcdvRMFs22 bXkQU1aXdQvp0FeuhWcjt7XadfqvYKDc+M8OY=
- 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=RYiYhQSUyRkjyR2LQJ8PHzMn2oPaTCMGp3d5Bjj6tVZ75NzZ0gleujoWarGZ3IaZ1p GrOIeI0E+XCEUbm02HPAKhrmIGB4jWFn9jWmecnMXCZbY8+VZqvrWAdW5XRYunLaADaw ebuiX3tWkl8xQE5b1oI9ARzI3Ogg+coRLbbcE=
On Sat, Sep 12, 2009 at 7:59 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
> careful, your patch affects test/CMakeLists.txt in unwanted ways !
Oh I commented out the unit tests I wasn't gonna build. That's all.
Ignore that part.
> that aside: for now, we only dealt with unit quaternions. These are
> the quaternions that correspond to 3D rotations.
> That's the main reason why we didn't implement q1+q2 and q*scalar.
I tried implementing dual quats over eigen quats, and that's where I
ran into this.
> Now your patch does work, but it's not always efficient, because the
> operators return by value and so when you do s1*q1+s2*q2 you traverse
> the arrays 3 times instead of once. Again this doesn't matter with
> floats and SSE, but it does with double and/or without SSE.
Oh yeah, that's true :(
> Making this efficient would require again doing expression templates.
> If we wanted to take that route, I guess we could as well make
> Quaternion inherit MatrixBase instead of reimplementing everything.
Ok, so rotationbase is different from matrixbase. Thanks for clearing that up.
> even Matrix. I don't remember the chain of thinking that led to the
> current design, it's Gael who took care of that. It has the advantage
> of being simple and covering _unit_ quaternions appropriately.
> 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
The form is like that, but it is not slerp. That would have made my
job so much easier :|
Department of Physics
Indian Institute of Technology