I am looking for an algorithm to simplify the meshes of buildings or similar structures.
EDIT: I had made a comment that Hoppe's algorithm tends to make meshes more and more spherical with simplification. But, I am not sure about it, so am deleting the comment. Buildings in contrast should tend to become more and more rectangular with increasing simplification. The D3DX extensions for D3D in version 9.0 (d3dx9.lib) used to have classes to do progressive mesh simplification. See:
http://doc.51windows.net/Directx9_SDK/?url=/directx9_sdk/graphics/reference/d3dx/functions/mesh/d3dxgeneratepmesh.htm
http://msdn.microsoft.com/en-us/library/windows/desktop/bb281243(v=vs.85).aspx
Answer
The best results I've seen for this when a mesh is decimated. Decimating the mesh attempts to reduce the polygon count with minimal shape changes. The decimated meshes retain their shapes fairly well and this would be ideal for non-organic structures like buildings. Though it even works on organic structures as you can see here:
There are a few different techniques at work here. Such as estimating an average plane, performing "half-edge collapses" and more. There are numerous publications available that discuss implementing a decimation process. For further reading:
http://webdocs.cs.ualberta.ca/~anup/Courses/604_3DTV/Presentation_files/Polygon_Simplification/7.pdf
http://www.cs.uu.nl/docs/vakken/ddm/slides/papers/schroeder.pdf
http://www.cg.tuwien.ac.at/courses/Seminar/SS2002/Knapp_paper.pdf
http://www.jerrytalton.net/research/Talton04SSMSA.report/Talton04SSMSA.pdf
No comments:
Post a Comment