Garland97的论文中提到为了保护边界在简化的过程当中能尽量幸免,在计算每一个顶点的quadric的时候,是将边界面F沿其边界边e生成一个垂直面,这个垂直面的quadric也加入到e的两个端点的quadric中。详细请看原文的第六节。
下图是我对一个平面过简化效果图:


左图是1089个顶点的原图, 中间是没有加入preserving boundaries控制的100个点的简化图,第三图加入控制后的100个点的简化图,第四图是加入控制后简化为4个顶点的图。
其实加入垂直面的意义是使得边界点更趋向于往尽量成一条直线上的边界点做收缩。也就是说这将要被收缩的两个边界点所在的各自直线(这两直线当然是相连的)尽量不要成90度。因为90度的时候,点到垂直面的距离最大,收缩代价最大(这就是quadric的意义)。
> 2007.12.01
从上面的简化图中,可以看出有些三角形是发生了overlapping,后来加入的防止方法是检测一邻域里面的面的normal的方向的变化,如果变化例如大于90度就当作翻转。
没有评论:
发表评论