The tag has no usage guidance.

learn more… | top users | synonyms

16
votes
1answer
1k views

How to resolve collisions of compound shapes using SAT?

SAT is a decent way to determine collisions between arbitrary convex polygons. You'll even get the vector that is needed to resolve a collision. To resolve collisions between complex (non-convex) ...
13
votes
3answers
7k 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 ...
12
votes
3answers
5k views

2D game collision response: SAT & minimum displacement along a given axis?

I'm trying to implement a collision system in a 2D game I'm making. The separating axis theorem (as described by metanet's collision tutorial) seems like an efficient and robust way of handling ...
10
votes
2answers
7k views

How many and which axes to use for 3D OBB collision with SAT

I've been implementing the SAT based on: http://www.geometrictools.com/Documentation/DynamicCollisionDetection.pdf for 3D collisions On page 7, in the table, it refers the 15 axis to test so we can ...
8
votes
3answers
2k views

Narrow-phase collision detection algorithms

There are three phases of collision detection. Broadphase: It loops between all objecs that can interact, false positives are allowed, if it would speed up the loop. Narrowphase: Determines whether ...
7
votes
2answers
2k 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 ...
6
votes
3answers
5k views

Implementing Separating Axis Theorem (SAT) and Minimum Translation Vector (MTV)

I was following codezealot's tutorial on SAT and MTV and trying to implement it myself but I've come a cropper when it comes to getting the correct MTV. Here is my example: (Cue pretty pictures...) ...
6
votes
1answer
372 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 ...
4
votes
1answer
708 views

Simple 3D collision detection for general polyhedra

I have correctly set up a SAT system. I now need to determine a simple, fast, and general purpose collision detection mechanism to identify the collision points. These points will then be used to ...
4
votes
1answer
751 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 ...
3
votes
1answer
52 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: // aCorn and bCorn are arrays containing all corners (vertices) of the two OBBs private static bool ...
3
votes
2answers
250 views

How to calculate faces involved in collision (Separating Axis Theorem)

I have a game engine created in javascript (https://jsfiddle.net/4gqsq8wf/) which uses collision detection via the Separating Axis Theorem. Currently, it does not have any means of resolving velocity ...
3
votes
2answers
2k views

2D Rectangle/Circle Continuous Collision Detection

I'm looking for a fast 2D continuous collision detection algorithm for circles and rotated rects. It needs to determine the time of collision. Both shapes may be moving at high speed, so the ...
3
votes
1answer
120 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 ...
3
votes
1answer
192 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 ...
2
votes
2answers
1k 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 ...
2
votes
1answer
235 views

Separation of axis theorem implementation at normals

This might be more of a math question, but it relates to the development of a simple physics engine I am trying to create. I have been stumped on this for about a week now, and have been unable to ...
2
votes
1answer
97 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
2answers
167 views

How can I solve this SAT direct corner intersection edge case?

I have a working SAT implementation, but I am running into a problem where direct collisions at a corner do not work for tiled surfaces. That is, it clips on the surface when going in a certain ...
2
votes
0answers
181 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 ...
1
vote
5answers
1k views

Error in my Separating Axis Theorem collision code [closed]

EDIT 2: Made some more alterations, now the one area i'm still confused on is: how to work out the vector to project on the separation axes? My projectOnto(..) method has some huge gaps now and i know ...
1
vote
1answer
649 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
1answer
968 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
1answer
569 views

How do I get the axes for SAT collision detection

In SAT collision detection how do I calculate the axes for projection?
1
vote
1answer
122 views

Resolving penentration after collision using Separating Axis Thereom

I implemented collision detection in my game using SAT. The detection works, but I'm trying to use the algorithm to figure out the penetration vector of the two OBBs and push them apart (before doing ...
1
vote
1answer
362 views

What is going on in this SAT/vector projection code?

I'm looking at the example XNA SAT collision code presented here: http://www.xnadevelopment.com/tutorials/rotatedrectanglecollisions/rotatedrectanglecollisions.shtml See the following code: private ...
1
vote
2answers
471 views

Separation of axis theorem implementation

I have been following the this guide to implement this. My current implementation is the following: class SAT { SAT(); bool collides(Rectangle rect1, Rectangle rect2){ var axises = [ ...
1
vote
0answers
143 views

Calculating Minimum Translation Vector in Separating Axis Theorem based algorithm

In the 2D SAT collision determination algorithm, you project the convex polygons onto each potential separating axis. Supposing the polygons intersect, from what I understand, the axis for which the ...
1
vote
0answers
574 views

Collision detection 3d rectangles using SAT

This question builds on a previous post asked by griffinHeart nov 2012. See link below. How many and which axes to use for 3D OBB collision with SAT Refering to the explanation/answer by Ken. What ...
1
vote
0answers
304 views

Separating Axis Theorem Issue

I am trying to create a 2d top down shooter using DirectX 11 (Windows 8 Store) and I am trying to implement OOBB collision using the Separating Axis Theorem. However I appear to have run into an ...
1
vote
2answers
611 views

How can I get accurate collision resolution on the corners of rectangles?

I have a working collision system implemented, and it's based on minimum translation vectors. This works fine in most cases except when the minimum translation vector is not actually in the direction ...
1
vote
0answers
256 views

Debugging Minimum Translation Vector [closed]

I implemented the minimum translation vector from codezealot's tutorial on SAT (Separating Axis Theorem) but I'm having an issue I can't quite figure out. Here's the example I have: As you can see ...
0
votes
1answer
44 views

My polygons only register a collision if they are the same shape and directly over top of each other

I'm trying to learn about 2d polygon collision detection/handling and have ran into a snag. After running through lots of tutorials and sample code I've attempted to implement my own polygon class ...
0
votes
1answer
271 views

Separating axis Theorem rotation issue

I made a post yesterday to see if anyone could understand my problem. However I did not receive much guidance, probably because my question was not clear. I have worked on it a little more and ...
0
votes
2answers
471 views

Collision detection with multiple polygons simultaneously

I've written a collision system which detects/resolves collisions between a rectangular player and a convex polygon world using the Separating Axis Theorem. This scheme works fine when the player is ...
0
votes
1answer
468 views

Separating axis theorem implementation flaky minimum translation vector based on triangle orientation

I've implemented some collision detection using separating axis theorem. Works fine for axis-aligned rectangles and two out of four possible right triangle orientations. For some reason when the ...
0
votes
0answers
25 views

Finding minimum horizontal offset to disjoin two objects in 3D

This is an extension of sorts of the question asked here: Allowing a player to walk up and down slopes without resistance I am using the Separating Axis Theorem to determine the minimum translation ...
0
votes
0answers
29 views

SAT: which normal to choose when two sides are parallel

I am trying to make collision detection work for any convex polygon using SAT. My code works and returns the proper axis with minimal overlap which is later used to separate the two entities. There's ...
0
votes
0answers
19 views

How do I find at least the closest penetrating point with SAT? [duplicate]

For more accurate simulations, I want to find the closest point of another polygon to one polygon's center when they collide. Is this possible with the SAT algorithm? Is it a good strategy at all for ...
0
votes
2answers
198 views

Vertical Collision Detection, Falling Through Ground

After much work trying to learn collision system theory and apply it, I've got my collision system working for the most part. The player can collide horizontally with no issue, sliding against walls, ...
0
votes
1answer
370 views

Problems about oriented bounding boxes collision detection

I get a question for the following code which detects if two OOBs collide by SAT. The OBBs struct is also listed below. struct OBB { Point c; // OBB center point Vector u[3]; // Local x-, y-, and z-...
-1
votes
1answer
3k views

What is the MTV (Minimum Translation Vector) in SAT (Seperation of axis)?

What is the MTV (Minimum Translation Vector) in SAT (Seperation of axis)? and how can i use it? Im trying to create my first game, where a ball can hit a a static brick (rectangle). Now if a ball ...
-1
votes
1answer
147 views

Modifying SAT Code To Obtain Penertration Vector [duplicate]

Possible Duplicate: SAT, How Do I Find The Penetration Vector? Hi how could I modify my SAT code and visual debug it to find the penetration vector of the two Entities so I can separate them. ...