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
]
- To: eigen-commits@xxxxxxxxxxxxxxxxxxx
- Subject: 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
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Mon, 1 Nov 2010 09:38:32 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:content-type :content-transfer-encoding; bh=bXmP0ApduHmngTw1pH5usX6by4Occ4j7JTwQk2YLcww=; b=EOhSzcoPZvQVw/BeVg3696LLBb/mEgyC8VYhzGsM6FFkJBO3XkOJ1b/eZUJHSR6B08 YWUGBrHW1r5L9AE1ueTIvD8PJbCtcWhoLskBCXUFbVMDHs8BZQWVK6e/RvavIF2JmGR0 cS63aA8nv8Mc12VOlvNXKznZSk/StDz01/A9Q=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; b=gyIaqxI0zK3ILf2gbOE9QY8CxuP8ynkwZuWNyRsJ6qJawp6ptPIfglQmcjN+xcp7T3 b9im2vWL0Jqi905EZ5JUPBCTK71hBG/4e5Ax+V6By/2iGBo3RCE3j7PJ3MudKofzPTNn C+TJC2NS0ewFjon0oVJHp1Mr3vcESjeJA7Qbc=
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.
>>
>>
>>
>
>
>