Skip to main content

Questions tagged [separating-axis-theorem]

The Separating Axis Theorem (SAT) is used to detect if two convex, generic objects are colliding or not.

Filter by
Sorted by
Tagged with
35 votes
3 answers
31k views

I've been implementing the SAT based on: Dynamic Collision Detection using Oriented Bounding Boxes [PDF] On page 7, in the table, it refers the 15 axis to test so we can find a collision, but with ...
GriffinHeart's user avatar
15 votes
3 answers
15k views

I have static objects and movable objects. The collisions are detected using the separating-axis-theorem. For example, in this situation I have two static objects (in red): and a movable object ...
TravisG's user avatar
  • 4,442
14 votes
5 answers
16k views

The Separating Axis Theorem (SAT) makes it simple to determine the Minimum Translation Vector, i.e., the shortest vector that can separate two colliding objects. However, what I need is the vector ...
Kai's user avatar
  • 1,600
9 votes
1 answer
1k views

I am attempting to implement the separating axis theorem in C#. I have a function that can calculate the minimum translation vector between two polygons. However, I can't seem to create a function ...
user40698's user avatar
7 votes
2 answers
4k views

In a game im developing in 2D, im have one or more circles (balls) that can collide with several rectangles (bricks). Im trying to figure out a collision detection strategy, and have come up with ...
netbrain's user avatar
  • 339
5 votes
1 answer
708 views

According to the N Tutorials, after a projection-based collision (i.e, adding a minimum translation vector to an object's position in order to bring it out of collision), bounce and friction are ...
tobahhh's user avatar
  • 87
5 votes
1 answer
1k views

I'm developing my first tile-based 2D-game with Javascript. To learn the basics, I decided to write my own "game engine". I have successfully implemented collision detection using the separating axis ...
Macks's user avatar
  • 171
4 votes
1 answer
726 views

So while researching for a method to detect collisions in a 3D space between (arbitrary rotated) boxes, I stumbled upon this excellent question with great resources for my further research and great ...
CharlyDelta's user avatar
4 votes
1 answer
720 views

There's an optimization method for the separating axis test in 3D that uses Gauss Maps to discard certain redundant axes from the set of axes that need to be tested generated by edge-edge cross ...
Pris's user avatar
  • 904
3 votes
1 answer
6k views

There are a lot of tutorials and sample code available showing how to implement the SAT collision detection algorithm. But can someone explain, without math or code, what are the general principls ...
Ken's user avatar
  • 6,136
3 votes
2 answers
4k views

I've just successfully implemented Separating Axis Theorem (SAT) in my game but I was wondering how do I find the penetration vector? I heard it can be useful for collision response. e.g. The harder ...
jshbrntt's user avatar
  • 565
3 votes
2 answers
395 views

I stumbled across this implementation for a projection intersection test to use in a SAT test: ...
CharlyDelta's user avatar
3 votes
1 answer
1k views

I am working on a project in which I have implemented the Separating Axis Theorem to detect collisions between objects. My current collision response is an object that contains whether it is ...
Riko Ophorst's user avatar
2 votes
1 answer
272 views

We'll start with the questions, then a pile of background: How do you rigorously and thoroughly define "soft collision" of the Mario-esque type (if I start above, or in a jump my feet apex above a "...
leander's user avatar
  • 2,719
2 votes
1 answer
903 views

I'm having real trouble resolving this issue with triangle-convex hull SAT test intersection. The problem is as follows: Misses are detected accurately enough: Clear miss I have not found a problem ...
bobobobo's user avatar
  • 17.2k
2 votes
2 answers
2k views

I'm interested in the relatively precise point (not line) of collision for calculating angular velocity on impact for use in a impulse calculation. At first I thought, perhaps naively, that I could ...
JavaProphet's user avatar
2 votes
1 answer
587 views

I am currently implementing a separating axis theorem collision response. It can be used by oriented bounding boxes and axis-aligned bounding boxes. So far I have covered face-something contacts. I ...
Pris0n's user avatar
  • 21
2 votes
1 answer
703 views

I've just implemented collision detection using SAT and this article as reference to my implementation. The detection is working as expected but I need to know where both rectangles are colliding. I ...
Felipe Cypriano's user avatar
2 votes
0 answers
1k views

I am having a bit of difficulty detecting collisions properly with separating axis theorem. My code seems to be giving a lot of false alarms. Also, I've looked into implementing sliding collisions ...
Rjdlee's user avatar
  • 121
2 votes
0 answers
112 views

After detecting a collision between two convex shapes by using separating axis theorem and calculating MTV. How can I calculate the contact points?(for applying torque to the rigid body).
J.J's user avatar
  • 29
1 vote
1 answer
520 views

Quick question which hopefully won't require thralling through my code. I have a working implementation of SAT for 3D collision detection but I'm having some problems with dealing with rotated ...
CollisionAttempter's user avatar
1 vote
1 answer
935 views

Simply put I'm having a hard time working out how to work with XNA's Vector2 types while maintaining spatial considerations. I'm working with separating axis theorem and trying to project vectors onto ...
ssb's user avatar
  • 1,264
1 vote
1 answer
2k views

I've implemented a collision library for a character who is an AABB and am resolving collisions between AABB vs AABB and AABB vs OBB. I wanted slopes for certain sections, so I've toyed around with ...
patt4179's user avatar
1 vote
1 answer
737 views

Currently I have a working 2D SAT collision system with only boxes, but works with static rotations as well, leaving room for triangles. One of the issues I've been able to resolve was tunnelling, ...
user avatar
1 vote
1 answer
404 views

I'm using the seperating axis thereom for discrete collision detection. I have code to find the minnimum translation vector (or distance) to seperate two shapes but how can I adjust it to get a vector ...
Greg Williamson's user avatar