[ODE] 0.8.2 candidate

Oleh Derevenko oder at eleks.lviv.ua
Mon Oct 1 01:01:28 MST 2007


Hi, Jon

----- Original Message ----- 
From: "Jon Watte (ODE)"
To: "Oleh Derevenko"
Subject: Re: [ODE] 0.8.2 candidate


>>> - in demo_moving_trimesh, when dropping a trimesh with 'm', I get
>>> "assertion "dFabs(dVector3Length((dVector3&)*normal) - REAL(1.0)) <
>>> dEpsilon" failed in
>>> ..\..\ode\src\collision_trimesh_trimesh_new.cpp:328". Is this expected
>>> with the new trimesh collider?
>>>
>>
>> Fixed.
>> I have loosed tolerance to 1e-2, as precision for float is really poor.

> Note that the specific assertion, though, just says "the normal should be 
> normalized." If you generate a normal that isn't normalized, it might be 
> better to just normalize it, rather than accept normals that are off the 
> required length by one whole percent.

Well, it IS normalized. But because of limited precision of floats the 
modulo of vector is something around 0.996. In addition to using floats, 
also the way the normalization is performed increases negative effect on 
precision of result. To be more time efficient normalization is performed as 
multiplication for length reciprocal instead of division. This adds extra 
computational error.

Oleh Derevenko
-- ICQ: 36361783




More information about the ODE mailing list