Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>To test collision detections between 2 oriented bounding boxes, I'd use separating axis theorem (<a href="http://www.metanetsoftware.com/technique/tutorialA.html" rel="nofollow noreferrer">SAT</a>). In fact SAT can be used for collision detection between any 2 convex shapes. This technique is not overly complex to understand and has a reasonable performance. The theorem can easily be extended to 3D.</p> <p>EDIT:</p> <p>The algorithm tries to determine is it is possible to fit a plane between two objects. If such a plane exists, then the object are separated, and cannot intersect.</p> <p>To determine if the objects are separated, it is simply a matter of projecting the objects onto the <a href="http://en.wikipedia.org/wiki/Surface_normal" rel="nofollow noreferrer">normal</a> of the plane, and comparing the intervals and see if they overlap.</p> <p>So, there is obviously an infinite number of planes that can fit between two separated objects. But it has been proved you only have to test a handful of planes. </p> <p>It can be shown that for boxes, the separation planes to be tested are the planes with normal equal to the axes of both boxes. So for 2 boxes, you only need to test 4 separation planes in total. Out of the 4 planes, once you found a separation plane that separates the boxes, then you know the box cannot intersect, and you return a no collision flag.</p> <p>If the 4 planes cannot separate the boxes, then the box must be intersection, and there you have a collision.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload