-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
aabb capsule intersection bug #55
Comments
…ssertion failure, however the collision test in the test case still reports wrong result (no collision - whereas the AABB and Capsule should collide)
Thanks for the test case! Debugged this a bit, and lifted the assertion checks to utilize double precision floating point in the above commit. That causes the assertion failure to not fire - however the collision test still reports wrong result - no collision even though the AABB and Capsule should collide (if I interpreted the numbers correctly?) The commit above at least avoids the math assume failure. Not sure if there is a bug in the GJK algorithm implementation or if this is a limitation of single precision floating point - the numbers have relatively large range, and some of the intermediate computations exceed the scale |
The image above shows that AABB and Capsule should not collide(OSG). I also test this case with GeometricToolsEngine3p25. It reports no collision. |
Oh, thanks! Then it looks like MathGeoLib does compute the proper result after the commit above. Updated the test and closed as fixed. |
Error: Assumption ""insideSimplex || dist <= d[4] + 1e-4f * Max(1.f, d[4], dist)", d[4]: 0.0750471, dist: 0.213954, insideSimplex: 0, minDistIndex: 11 in \src\Algorithm\GJK.cpp:237" failed! in file \src\Algorithm\GJK.cpp, line 237!
The text was updated successfully, but these errors were encountered: