A Simple, Fast, and Effective Polygon Reduction Algorithm

Tgerm
5 min readMar 2, 2019

该算法来源: 《A Simple, Fast, and Effective Polygon Reduction Algorithm》by Stam Melax.

原文链接:https://dev.gameres.com/Program/Visual/3D/PolygonReduction.pdf

Github: https://github.com/vanCopper/SimplifyPolygon

H.Hoppe Progressive Meshes

多数减面算法都是 H.Hoppe Progressive Meshes的改进或变形而来。 Progressive Meshes是由 Hugues Hoppe 1996年发表在ACM SIGGRAPH(国际图形图像协会)的一篇论文。

WebPage: http://hhoppe.com/proj/pm/

Parper: http://hhoppe.com/pm.pdf

Github: https://github.com/hhoppe/Mesh-processing-library/tree/master/MeshSimplify

该算法通过重复使用一个简单的边坍塌操作来降低模型的复杂度,如图2:

u,v 是即将被操作的两点:

  1. 首先删除以uv为边的三角形
  2. 更新剩余三角形的顶点,用顶点u代替v
  3. 移除顶点u

重复以上过程,直到当前剩余顶点数达到预期数量。该过程会移除一个顶点( u ),两个三角形,三条边。

假设有图3所示多边形,通过上述过程即可完成减面操作:

--

--