Jump to content
  • Advertisement
Sign in to follow this  
Mr.L

Separating axis 3d

This topic is 2291 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

With help of some Tutorials i finally understood how to use SAT for recognizing and resolv9ing collisions in 2d.
Now I'd like to continue in 3d.
But I have no Idea how i should do this, because after hours of google i didn't found anything useful.

Can someone give me something to start one thinking?

Share this post


Link to post
Share on other sites
Advertisement
SAT in 3D is nearly the same as in 2D but with extra axis that you may not think of that must be checked.

For two polyhedra, you have (as expected) the face normals as potential seperating axis, but you also have all cross products of edges (one from one polyedra, one from the other) as potential axis. (Being careful not to check degenerate axis) which clearly paves the way for some numerical issues as well as meaning the number of seperating axis can quickly explode!

In 3D you may more commonly see the more general (and fairly easy to implement in a numerical stable way) GJK algorithm for intersection tests between 'any' two convex shapes rather than strictly defined primitives. It's usual partner is the EPA algorithm if you need to find more information than 'they are colliding' for intersecting shapes which is unfortunately much harder to implement in a numerically robust way. Edited by luca-deltodesco

Share this post


Link to post
Share on other sites
what do you mean with:

", but you also have all cross products of edges (one from one polyedra, one from the other) as potential axis"

which edges do you mean? Edited by Mr.L

Share this post


Link to post
Share on other sites
extra axis that you may not think of that must be checked.


which extra axis do you mean?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!