-
Notifications
You must be signed in to change notification settings - Fork 110
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
ccdGJKPenetration does not calculate exact contact location on a large box. #17
Comments
Could you create unit tests and send them to me (the best way would be a pull request). Then we can try to find out where is the problem and fix it. |
Shown below is the unit tests that fail only for ccdGJKpenetration. Thanks much. From 65a053ff38fdb8172d30356a04e8f9611fbdea54 Mon Sep 17 00:00:00 2001 src/testsuites/boxbox.c | 31 +++++++++++++++++++++++++++++++ diff --git a/src/testsuites/boxbox.c b/src/testsuites/boxbox.c
+} TEST(boxboxSeparate); TEST_SUITE(TSBoxBox) {
TEST_ADD(boxboxTearDown),
+} TEST(mprBoxboxSeparate); TEST_SUITE(TSMPRBoxBox) {
TEST_SUITE_CLOSURE };1.9.1 |
Regarding issue danfis#17: ccdGJKPenetration does not calculate exact contact location on a large box.
I am trying to use libccd for my QP-based physics simulator, because libccd is very clean and compact. Thank you very much for such a nice library.
(Previously, I used btGjkEpaSolver in bullet-2.68.)
In my tests, everything seemed to work perfectly, unless a box (or any other convex objects) is large.
When a box is large, box-box collision test works fine, but ccdGJKPeneration provides incorrect contact location. The contact normal and depth are accurate, and only the location is off.
This is so only when a box is much larger than the other box. For example, when one box is 5 meters big while the other box is 0.2 meter big, the results are always inconsistent and inaccurate.
I wonder if this is a known problem, or am I doing something wrong?
I wrote my code based on testsuites/boxbox.c, and used the ccdSupport function in testsuites/support.c.
I am using a Ubuntu machine. libccd was pulled from here a few days ago. (HASH:842646...)
But my code has other dependencies so I did not post here.
[UPDATE]
This issue has gone when I switched to ccdMPRPenetration. MPRPenetration seems to be less accurate about idepth though.
The text was updated successfully, but these errors were encountered: