Sign in to follow this  
Khaos Dragon

planar mesh simplification

Recommended Posts

I am just wondering if there are algorithms for simplifying only planes in a mesh. Example of what I mean: Let me propose an arbitrary mesh. In this case we can assume the mesh can be treated as if it were convex. Imagine a box that naturally has 6 sides. 5 of the sides are composed of 2 triangles each while the sixth side is highly tesselated and consists of several faces. However all of these faces lie in the same plane and thus could be simplified to 2 faces. Essentially this reduces the complexity of the model by a lot while maintaining the same convex shape.

Share this post


Link to post
Share on other sites
This is just off the top of my head, so correct me if I'm wrong anywhere:

If two faces of a convex ovject have the same normal then they must be in the same plane (since if they were in different planes the object wouldn't be convex). We can use this to get a list of all faces in the same plane. If any of the faces in this list share an edge then that edge can be collapsed to form a new convex polygon (there are some cases where this isn't true, so check before collapsing the edge). Repeat until you have only one polygon left, then turn the polygon into triangles. Repeat the whole process for all other face normals.

Share this post


Link to post
Share on other sites
Quote:
Original post by Khaos Dragon
Imagine a box that naturally has 6 sides. 5 of the sides are composed of 2 triangles each while the sixth side is highly tesselated and consists of several faces. However all of these faces lie in the same plane and thus could be simplified to 2 faces.

Partially true; vertex attributes (texcoords, normals etc) must also be equal.

Share this post


Link to post
Share on other sites
Quote:
Original post by Sunray
Quote:
Original post by Khaos Dragon
Imagine a box that naturally has 6 sides. 5 of the sides are composed of 2 triangles each while the sixth side is highly tesselated and consists of several faces. However all of these faces lie in the same plane and thus could be simplified to 2 faces.

Partially true; vertex attributes (texcoords, normals etc) must also be equal.


In most cases this is true, in this case however I am trying to prepare the mesh for collision detection.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this