我想计算每个面部使用置换贴图应用的柏拉图(或者可能是archimedian)实体的结果表面网格。网格应显示位移图的精细细节,并且是水密和多样的(用于3D打印)。
http://oi47.tinypic.com/4tlgy9.jpg
为此,我考虑过使用CGALs隐式函数3d surface mesher。然后,我将每个体素点映射到相应的面,应用从体素空间到面部的坐标系变换,并查找面部的高度场。我知道如何为每个面构建变换矩阵,所以我考虑了以下算法来测试体素是否包含在实体中:
我想有更好的解决方案,特别是找到合适的脸?另一种方法可能是不使用表面网格划分器,而是从面构建表面:获取每个面的置换贴图并将变换矩阵应用于它以构建实体,但是我需要简化每个面网并将它们结合起来某种程度上,结果是水密和多样的(如果位移图具有某些值,则面应该支撑孔),所以我认为基于体素的方法具有隐函数是最常用的工具。
答案 0 :(得分:0)
基于体素的方法并不成功:对于许多工件,低分辨率。我最终创建了2d高度贴图,为它们提供了简化算法,然后将它们投影到实体的面上,最后通过自定义算法将面网格合并为一个单独的网格。