meshlab 中有 dilate/erode 网格的功能吗?
Is there a function to dilate/erode a mesh in meshlab?
我正在使用创建宽墙的 3d 打印机(所有尺寸都大了 0.3 毫米),我还需要通过腐蚀来更正 stl 文件。
meshlab有这个功能吗?
有一个很简单的方法可以实现dilate/erode。使用过滤器 -> "Smoothing, fairing and Deformation" -> "Per Vertex Geometric Function" 并创建一个函数 add/subtract 每个顶点坐标的法线值:
x = x-nx
y = y-nz
z = z-nz
如果需要按给定因子进行侵蚀,只需将法线乘以该因子即可。
x = x-0.3*nx
y = y-0.3*nz
z = z-0.3*nz
另一种方法(速度较慢但拓扑更准确)是使用 均匀网格重采样 过滤器并指定正(负)偏移以获得扩张(侵蚀)效果。
在这种情况下,将创建一个新的近似网格,精度(和时间)取决于您设置的精度参数。
我正在使用创建宽墙的 3d 打印机(所有尺寸都大了 0.3 毫米),我还需要通过腐蚀来更正 stl 文件。 meshlab有这个功能吗?
有一个很简单的方法可以实现dilate/erode。使用过滤器 -> "Smoothing, fairing and Deformation" -> "Per Vertex Geometric Function" 并创建一个函数 add/subtract 每个顶点坐标的法线值:
x = x-nx
y = y-nz
z = z-nz
如果需要按给定因子进行侵蚀,只需将法线乘以该因子即可。
x = x-0.3*nx
y = y-0.3*nz
z = z-0.3*nz
另一种方法(速度较慢但拓扑更准确)是使用 均匀网格重采样 过滤器并指定正(负)偏移以获得扩张(侵蚀)效果。 在这种情况下,将创建一个新的近似网格,精度(和时间)取决于您设置的精度参数。