Problem with NewtonCollisionPointDistance and convex hulls

A place to discuss everything related to Newton Dynamics.

Moderators: Sascha Willems, walaber

Problem with NewtonCollisionPointDistance and convex hulls

Postby JoshKlint » Tue Jan 23, 2024 3:42 pm

I'm seeing "false positives" when using NewtonCollisionPointDistance with convex hull shapes:
https://www.newtondynamics.com/wiki/ind ... ntDistance

Once the point is less than about 0.25 distance away from the convex hull, the function starts returning 0 and says the closest point is the original point supplied to the function. If you are a little bit further away, it works as expected as shows the closest point laying along the convex hull surface.

Is there some known issue with this in Newton 3.14? The docs say that meshes and user collisions are not supported, but it doesn't say anything about convex hulls having a problem.

Video shows the problem:
https://www.youtube.com/watch?v=WP03gvEQsyk
JoshKlint
 
Posts: 163
Joined: Sun Dec 10, 2017 8:03 pm

Re: Problem with NewtonCollisionPointDistance and convex hul

Postby JoshKlint » Tue Jan 23, 2024 7:52 pm

I have uploaded a demo here which uses the current version of Newton 3.14 from Github and a DLL, so it can be easily debugged:
https://www.ultraengine.com/files/convexhullbug.zip

Vulkan 1.3 is required.
Mouse/WASD moves the camera.
Arrow keys move the box.
JoshKlint
 
Posts: 163
Joined: Sun Dec 10, 2017 8:03 pm

Re: Problem with NewtonCollisionPointDistance and convex hul

Postby JoshKlint » Wed Jan 24, 2024 12:25 pm

In release mode, the behavior is sometimes different. At some positions inside the volume, the intersection test will say the point is not inside the volume. I suspect a function somewhere might not be returning a value, resulting in a random value being used.

Perhaps this is related:
http://newtondynamics.com/forum/viewtop ... 933#p62933
JoshKlint
 
Posts: 163
Joined: Sun Dec 10, 2017 8:03 pm

Re: Problem with NewtonCollisionPointDistance and convex hul

Postby JoshKlint » Thu Jan 25, 2024 1:33 pm

I walked through the code in the debugger, but past a certain point I don't understand what the Newton code is doing. It looks like maybe there is an error in dgContactSolver::CalculateContactFromFeacture somewhere.
JoshKlint
 
Posts: 163
Joined: Sun Dec 10, 2017 8:03 pm


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 58 guests