Re: 0.8.2 candidate
"Oleh Derevenko" <[email protected]>
| Newsgroups | gmane.comp.lib.ode |
|---|---|
| Message-ID | <[email protected]> |
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