Está en la página 1de 32

OBB-Tree : A Hierarchical

Structure for Rapid


Interference Detection
Aditya Kulkarni
Hirak Sarkar
Motivation
Motivation
Motivation
Motivation
How to Cover
BV: Bounding Volume

AABB: Axis Aligned Bounding Box

OBB: Oriented Bounding Box

Bounding Sphere

AABB
OBB
Sphere
How to know Orientation



Take Eigen vector of form the orientation axes


Oriented Bounding Box (OBB)
Align box to object such that it fits optimally in terms of fill
efficiency



Computationally
expensive
Invariant to
rotation
Complex
intersection
check







Top-Down Approach for OBB-Tree



Comparison AABB / OBB

Overlap Testing For OBBs
Previous Algorithms
Simple edge testing (144 inequalities)
Linear programming
Closest Features Computation

This paper
Separating axis theorem
Separated Axis Theorem
Problem statement
Determine if two (convex) objects are intersecting.
Possibly also obtain contact information.
?
A
B
!
A
B
Underlying theory
Set C is convex if and only if the line segment between any two points
in C lies in C.
Underlying theory
Separating Hyperplane Theorem
States: two disjoint convex sets are separable by a hyperplane.
Underlying theory
Nonintersecting concave sets not generally separable by hyperplane (only by
hypersurfaces).
Underlying theory
Separation w.r.t a plane P separation of the orthogonal projections
onto any line L parallel to plane normal.
A B
L
P
Underlying theory
A line for which the projection intervals do not overlap we call a
separating axis.
A B
L
P
Separated if

or
Testing separation
Compare absolute intervals
min
A
a
max
A
min
B
max
B
A
B
max min
A B
max min
B A
Testing separation
For centrally symmetric objects: compare using
projected radii
A
B
B
r
A
r
t
a

t a
Separated if

A B
r r t a
Axes to test
But which axes to test?
Simplification:
Deal only with polytopes
Convex hulls of finite point sets
Planar faces
Axes to test
Handwavingly:
Look at the ways A and B can come into contact.
In 3D, reduces to vertex-face and edge-edge contacts.
Vertex-face:
a face normal from either polytope will serve as a separating axis.
Edge-edge:
the cross product of an edge from each will suffice.
Axes to test
Theoretically:
Consider the Minkowski difference C of A and B.
When A and B disjoint, origin outside C, specifically outside some face F.
Faces of C come from A, from B, or from sweeping the faces of either along
the edges of the other.
Therefore the face normal of F is either from A, from B, or the cross product
of an edge from either.
Axes to test
Four axes for two 2D OBBs:
Moving objects
When objects move, projected intervals move:
Recursive Collision
Detection


Recursive
Collision
Detection

)
Returns TRUE if BBs
Overlap.















Now Primitive
Collision Test


Object A Object B Object A Object B
Object B Object A
Performance
Sep. Axis Theorem Closest Features Linear Programming
5 7 S

45 105 S

180 230 S

También podría gustarte