3D Collision dection and response

In summary, the conversation discusses the creation of a physics engine for a personal project and the challenges of accurately detecting and responding to collisions. The speaker mentions using basic shapes and finding solutions for single point and two point collisions, but is struggling with two surfaces completely colliding with each other. They ask for advice on resolving these types of collisions and mention wanting to eventually incorporate angular motion. They also provide a link to an article that may be helpful.
  • #1
starphoenix
2
0
I am making the physics engine for a personal project, and one of the more important parts is that the collisions are detected and respond as accurately as possible. right now I'm in the preliminary phases of designing this, so I'm sticking to basic shapes, axis aligned boxes, axis aligned cylinders, and spheres.

The problem I'm coming across is I have found how to deal with a single point collision, and two point collision, if an edge of something collides with a surface. But the one case I have not been able to at all figure out how to deal with, is if two surfaces completely collide with each other. IE if two boxes hit each other head on, the two faces will both smack right into each other.

Anyone know how to resolve these kinds of collisions? Should I just compute a point that is at the center of the colliding faces and treat it as a single point collision? Ideally I would like this to include angular motion as well, but at this point in time I am only dealing with linear motion.

Thanks in advance guys!
 
Technology news on Phys.org
  • #2
You may have already seen this, but here's the link in any case:

http://www.gamedev.net/reference/articles/article736.asp
 
Last edited by a moderator:
  • #3


One possible solution for handling collisions between two surfaces is to use a technique called Separating Axis Theorem (SAT). This involves projecting the two objects onto different axes and checking for overlaps. If there is an overlap on all axes, then a collision has occurred and you can calculate the collision response.

Another approach is to use a technique called Continuous Collision Detection (CCD), which involves continuously checking for collisions during the movement of objects. This can help prevent objects from passing through each other, especially in high-speed scenarios.

In terms of angular motion, you can apply the same principles of SAT and CCD to calculate the angular velocity and rotation of the objects after a collision.

It's also important to consider the shape of the objects being used. For example, if your objects have curved surfaces, you may need to use a different collision detection algorithm such as GJK or EPA.

Overall, it's important to carefully consider the specific needs of your project and choose the most appropriate collision detection and response techniques. There are many resources available online and in books that can provide more in-depth explanations and examples. Good luck with your physics engine!
 

1. What is 3D collision detection and response?

3D collision detection and response is a method used in computer graphics and simulations to determine when two or more objects in a 3D environment have collided and how they should react to the collision.

2. How does 3D collision detection work?

In order to detect collisions, algorithms are used to calculate the positions and velocities of objects in the 3D space and determine if they overlap or intersect. This is often done by creating bounding volumes around objects and checking for intersections between these volumes.

3. What is the purpose of 3D collision response?

The purpose of 3D collision response is to simulate how objects would behave in a real-world scenario. When a collision is detected, the response algorithm calculates how the objects should react based on their physical properties, such as mass and velocity, and applies forces to them accordingly.

4. What are some common challenges in 3D collision detection and response?

One common challenge is accurately detecting and resolving collisions between complex or irregularly shaped objects. Another challenge is handling collisions between multiple objects simultaneously, as the response algorithm needs to prioritize and calculate the correct reactions for each object.

5. How is 3D collision detection and response used in different industries?

3D collision detection and response is used in a variety of industries, including video game development, virtual reality, and engineering simulations. It is also commonly used in robotics to help robots navigate and interact with their surroundings without colliding with objects.

Similar threads

Replies
10
Views
1K
  • Programming and Computer Science
Replies
21
Views
3K
Replies
14
Views
1K
  • Atomic and Condensed Matter
Replies
3
Views
1K
  • Introductory Physics Homework Help
Replies
2
Views
1K
  • Special and General Relativity
2
Replies
67
Views
4K
  • Mechanics
Replies
9
Views
1K
Replies
9
Views
830
Replies
4
Views
915
  • Quantum Physics
Replies
8
Views
998
Back
Top