Zzzzrrr wrote:
As far as penetration depth is concerned, MPR is as accurate as any other simplex based algorithm, including EPA. They simply use different strategies to achieve the same end result: finding the minimum distance from the CSO origin to the Minkowski sum/hull. This is a very good approximation of the penetration depth.
This is not quite how my understanding of it works. The min distance from the origin to the Minkowski sum
is exactly the penetration distance. However, MPR merely approximates this value, finding a local minimum rather than the global minimum. EPA, by contrast, does find the global minimum. See the
reference, that I gave before, as evidence. (I cannot see the difference between MPR and XenoCollide, perhaps there is one I'm missing that will resolve all our differences?).
Zzzzrrr wrote:
For believable results, I would say that consistency is much more important than 100% accuracy.
This, I am not disputing. I am also not arguing that MPR is a bad algorithm; it is fast and works in all the important circumstances. Also I now appreciate that similar algorithms suffer the same problems.
Zzzzrrr wrote:
Not sure what you mean... Considering I perform a point in polygon test on the candidate verticies, the contact points should never be outside the original shapes.
Attached is a screenshot showing what I mean. The circles contact point is clearly not on the surface of the circle. Granted, if the objects were solid like in your other demo, then this problem would never occur, but my earlier swf shows that there are more plausible failure scenarios. Notice how the yellow dot is not inside the yellow triangle, which is the basic source of the problem.