Re: [eigen] Transform.rotation() hang

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


OK,  Transform::rotation() uses a SVD decomposition, and the current
code, copied from public domain JAMA, is very bad.

We'll have a completely rewritten SVD soon (in a couple of months).

Meanwhile, there's not much to do. If quickly fixing the current SVD
is very important for you, you're welcome to fix this hang, but as far
as we are concerned, our time (when we have any, i currently am taken
by my research) is best employed working on the brand new SVD.

Cheers,
Benoit

2009/2/10 Ben Axelrod <baxelrod@xxxxxxxxxxxx>:
> Sometimes calling Eigen::Transform.rotation() hangs and does not return.
>
>
>
> This transform matrix runs fine:
>
> 1            0   -1.931e-312  1
>
> 0            1    0           0
>
> 1.931e-312   0    1           1.5
>
> 0            0    0           1
>
>
>
> This transform matrix hangs:
>
> 1            0   -2.357e-312  1
>
> 0            1    0           0
>
> 1.179e-311   0    5           7.5
>
> 0            0    0           1
>
>
>
>
>
> Any help?
>
>
>
> Detailed info: the transforms were computed by:
>
>
>
> Tf * Tr * Qt * Sc
>
>
>
> Where, for the good transform:
>
>
>
> Tf = Transform:
>
> 1 0 0 1
>
> 0 1 0 0
>
> 0 0 1 0
>
> 0 0 0 1
>
>
>
> Tr = Translation:
>
> 0
>
> 0
>
> 1.5
>
>
>
> Qt = Quaternion:
>
> 0
>
> -9.653e-313
>
> 0
>
> 1
>
>
>
> Sc = Scaling:
>
> 1
>
> 1
>
> 1
>
>
>
>
>
> And for the bad transform:
>
>
>
> Tf = Transform:
>
> 1 0 0 1
>
> 0 1 0 0
>
> 0 0 5 0
>
> 0 0 0 1
>
>
>
> Tr = Translation:
>
> 0
>
> 0
>
> 1.5
>
>
>
> Qt = Quaternion:
>
> 0
>
> -1.179e-312
>
> 0
>
> 1
>
>
>
> Sc = Scaling:
>
> 1
>
> 1
>
> 1
>
>
>
>
>
> Thanks,
>
> -Ben



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/