3d Primitive Collisions

I think I may have found a new way of checking for 3d polygon collisions, but I'm not sure. It may have already been used, thought of, and/or discovered to be slow. So please let me know if this has already been done, and even if it would work.

The method involves...
1. finding the planes that the primitives lie on
2. finding the line where the planes intersect
3. if both polys have points on both sides of the line AND have points that overlap on the 1d space of the line, then they intersect.

I have some half done code testing this, and so far it seems to be sound and fairly fast. These are some average time-tests done on my machine for each part:

1. 30 microseconds (both)
2. 7 microseconds
3. TBD

Does anyone notice anything abnormal? Has this been done before? And more importantly, are the time tests abnormally slow or fast?

Thanks, guys!
closed account (o1vk4iN6)
There is GJK and SAT that can be used to test if two convex shapes are overlapping. The method you are describing just seems to be a brute force method so yah I think GJK and SAT are faster.

This is brute force as I am testing it, but that is only for testing purposes. You could use spheres, AABB, or OBB to test for definite negatives beforehand. Also, you could drop out of step three if one of the conditions wasn't satisfied.

That being said, could you link me to that so I can compare them?
This actually looks like I re-invented a strange form of 3D SAT with a few minor changes. Hmmmm....

Does anyone know about times for SAT tests in 3d, or is there an article on it anywhere? I'd like to optimize this as much as possible.
Actually, I don't see anything quite like it.
I've invented my own (almost flawless) method for any object no matter what its shape looks like however it's something what I'd expect would be used for very advance physics simulations on PCs from NASA or the military.

A polygon consists of an array of 3D position vectors
An Object contains an array of inclusive Polygons and exclusive Polygons (exclusive take higher priority)

Basic procedure:
brute force check every point on inclusive polygons against a second object for inclusive polygons and build a list of the points which collide
brute force check only the points that have been listed, against the exclusive polygon of the second object

More depth:
Split the polygon down into tetrahedrons using triangle which lie on the mesh with the center point stored in the polygon. Create a plane from the triangle faces on this tetrahedron and translate the point in testing onto the relative plane.
Use a 2D collision detection method I have ready to test this (now 2D) point against the (now 2D triangle)

So yeah, very complex
Topic archived. No new replies allowed.