Advertisement

SAT Hull vs Hull Edge Contacts special case

Started by August 21, 2024 12:56 AM
0 comments, last by fractali 4 months ago

Hi, I was working on a general hull vs hull contact generation for my physics engine, and was unsure on how to handle a case for edge vs edge contacts. Following Dirk's presentation on contact generation (https://media.steampowered.com/apps/valve/2015/DirkGregorius_Contacts.pdf), I'm not sure where to put the contact point when the edges are far apart. When the cross-product-pair realizes the axis of minimum penetration, but the edges are far away, I'm not sure where the contact point should go. See the (poorly made) diagram below.

I ran into this situation when the box on top is slightly tilted, such that the upward face of the bottom box isn't the axis of minimum penetration. However, I know for a fact that my general distance calculation of edges is incorrect, so I don't know if this situation is even possible. Maybe this can never occur and the face axis will always realize the axis of minimum penetration. I just don't know how to prove that.

Dirk's slides use an example of two edges crossing, and figuring out the contact point there seems simple. I just imagine them as two 3D lines in parametric equations and solve for the parameters that realize the minimum distance.

Here though, that approach will give me a contact point that is out of bounds for both of the edges' line segments.

The slides make edge-contacts seem so simple, so I feel like I'm misunderstanding something fundamental. Any help would be greatly appreciated. Thanks!

This topic is closed to new replies.

Advertisement