Curved shape collision detection?

Hello, I’ve been experimenting lately with different types of collision detection, however I am a little puzzled when it comes to shapes with curves, particulary shapes such as curved slopes and hills, I am curious how I would go about testing these shapes against an AABB object. I understand how SAT works but it doesn’t look like it would work in this case, there is an example on the link below (curved shapes vs AABB section) but I am having trouble on figuring out how to actually solve it.

http://www.metanetsoftware.com/technique/tutorialA.html

All I am looking for is a way to test AABB objects against curved shapes, specifically the ones I mentioned above, I am not interested in collision response, simply how to detect the collision, thanks!

Could you provide the library that you are using?
If you are using pretty much anything other than Java2D they will have easy solutions to this, however if you are using Java2D then I can’t help you, sorry. I’m sure there are plenty of other people on here that can though!

Why should it matter what library he is using? Java2D does not have it’s own collision functions, nor does LWJGL. He’s obviously not using an engine, because I’d imagine most engines support some basic SAT collision detection. What he needs is someone who has already implemented it.

I am using only Java2D, I see no reason why I would need a libary for what I want to achieve.

You could try this article on JGO which references this Sonic physics guide. There’s also this article which discusses movement over slopes a little ways down from the top of the page. HTH.

The SAT states that if its not overlapping in one axis its not overlapping (more or less). But it does not say that if they are over lapping that it has collided. In particular convex object can overlap on all axis and not be a collision.

Normally to accurately calculate collisions in these kind of cases we use math. So we use the mathematical definition of the curve and the AABB and come up with a set of simulations equations which we solve. However in a game this is not usually done since its too slow or just not required. There are a number of different ways to approximate the curve/shape whatever. Small bounding spheres, line segments, polygons etc. Or just a AABB…