So, given only the two 3D vertex lists (which again represent two polygons in a 3D space), I need to use the separating axis theorem to find if there is a separating plane between the two polygons. If a separating plane does exist, I need to return the

**equation**for that plane (the plane equation that uses a normal to the plane is preferred). If there is no separating plane (if the polygons intersect), then I need to throw an error.

All the tutorials and articles I've read that deal with the separating axis theorem deal with either 2D objects in 2D space or 3D objects (e.g. polyhedra) in 3D space. I'm dealing with what I would call 2D polygons in a 3D space, so my unique situation has made it hard to follow these articles. I (conceptually) understand how this algorithm works in 2D, but in this situation, I am unsure which and how many edges need checking, and how exactly to go about the process as a whole. Additionally, I think usually the algorithm terminates the second it figures out whether or not there is a separating axis... I need to return the actual equation for the separating plane in the case that it exists, which I think is a little unusual. In many cases there are of course many possible separating planes... it doesn't matter for my purposes which one gets returned.

I would really appreciate some step-by-step advice for attacking this.

Thanks!!