Re: [eigen-commits] commit/eigen: ggael: Let's be safe: enable auto normalization is quaternion to angle-axis code since a slight numerical issue may trigger NaN. The overhead is small and I doubt the perf of this function could be critival for any a

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


On Mon, Nov 1, 2010 at 12:04 AM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
> Hm...
>
> - m_angle = 2*std::acos(q.w());
> + m_angle = Scalar(2)*std::acos(q.w()/*/internal::sqrt(n2+q.w()*q.w())*/);
>
> Tu as mis des commentaires /*...*/ donc ca change rien!

oops, j'ai oublié de décommenter après mes bench....

> Je ne suis pas tres chaud pour auto normaliser dans 1 function alors
> qu'on ne le fait pas ailleurs! Mais je n'ai pas acces a hg ici donc je
> n'ai pas pu regarder de pres le code.

oui j'ai aussi pas mal hésité, mais le pb c'est qu'ici il y a un acos,
et si après quelques manipulations on a w=1.0000000000000000001 et
bien on se retrouve avec des NaN.

L'autre raison c'est que le surcout est modéré. Quasi nul pour des
doubles, et 20% pour des float.

Cela dit j'ai quand même des doutes sur le fait que des erreurs de
précisions puissent aboutir à des quaternions avec une norme supérieur
une composante supérieur à 1....

gael

> Benoit
>
> 2010/10/31  <commits-noreply@xxxxxxxxxxxxx>:
>> 1 new changeset in eigen:
>>
>> http://www.bitbucket.org/eigen/eigen/changeset/6a47c9be16c6/
>> changeset:   r3476:6a47c9be16c6
>> user:        ggael
>> date:        2010-10-31 23:26:01
>> summary:     Let's be safe: enable auto normalization is quaternion to angle-axis code since a slight numerical issue may trigger NaN. The overhead is small and I doubt the perf of this function could be critival for any application !
>> affected #:  1 file (43 bytes)
>>
>> Repository URL: http://bitbucket.org/eigen/eigen/
>>
>> --
>> This is a commit notification from bitbucket.org.
>> You are receiving this because you have the service
>> enabled, addressing the recipient of this email.
>>
>>
>>
>
>
>



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