Questions tagged [separating-axis-theorem]
The Separating Axis Theorem (SAT) is used to detect if two convex, generic objects are colliding or not.
83 questions
35
votes
3
answers
31k
views
How many and which axes to use for 3D OBB collision with SAT
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 ...
15
votes
3
answers
15k
views
Collision resolution in case of collision with multiple objects
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 ...
14
votes
5
answers
16k
views
Finding the contact point with SAT
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 ...
9
votes
1
answer
1k
views
Separating axis theorem with multiple polygons?
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 ...
7
votes
2
answers
4k
views
Collision detection between circle and rectangle in 2D
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 ...
5
votes
1
answer
708
views
Calculate bounce and friction after a projection-based collision
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 ...
5
votes
1
answer
1k
views
Collision Detection with SAT: False Collision for Diagonal Movement Towards Vertical Tile-Walls?
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 ...
4
votes
1
answer
726
views
Separating Axis Theorem - Calculate Normals from Points in 3D
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 ...
4
votes
1
answer
720
views
Calculating distance for Gauss Map optimized SAT
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 ...
3
votes
1
answer
6k
views
How does the SAT collision detection algorithm work
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 ...
3
votes
2
answers
4k
views
SAT, How Do I Find The Penetration Vector?
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 ...
3
votes
2
answers
395
views
Zero vector test in projection intersection test in SAT
I stumbled across this implementation for a projection intersection test to use in a SAT test:
...
3
votes
1
answer
1k
views
Game Physics: Calculating a collision response using the Separating Axis Theorem?
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 ...
2
votes
1
answer
272
views
Robust "soft" platform collision using SAT
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 "...
2
votes
1
answer
903
views
SAT test for Triangle - convex hull
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 ...
2
votes
2
answers
2k
views
How to get the point of collision in Separating Axis Theorem?
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 ...
2
votes
1
answer
587
views
What are "supporting points" in the context of the SAT?
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 ...
2
votes
1
answer
703
views
2D SAT How to find collision center or point or area?
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 ...
2
votes
0
answers
1k
views
Implementing Separating Axis Theorem to Detect and Handle Sliding Collisions
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 ...
2
votes
0
answers
112
views
Calculating contact points with SAT [duplicate]
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).
1
vote
1
answer
520
views
Separating Axis Theorem and rotated objects
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 ...
1
vote
1
answer
935
views
Trouble with SAT style vector projection in C#/XNA
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 ...
1
vote
1
answer
2k
views
AABB vs OBB Collision Resolution jitter on corners
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 ...
1
vote
1
answer
737
views
SAT Collisions: Resolving rotations
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, ...
1
vote
1
answer
404
views
How to get a translation vector in a certain direction? SAT
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 ...