填充表面网格的算法

时间:2014-02-28 08:30:04

标签: python algorithm volume mesh

我有一个描述封闭表面网格的点云。我想创建一个体积网格:因此我必须在这个“表面点云”中添加一些点。到目前为止,我使用了一种Sierpinski算法:

1) begin with middlepoint of all points
2) random choose one of the surface points
3) create new point at the half of the connection line between point (1) and (2)  
4) start again at (1) but take the new point (3) as first point

问题:当我对所有点进行三角测量时,许多角度都太大(ANSYS无法使用此数据集)。 有没有人知道在曲面网格内创建点的好算法,以便三角测量后的角度不是太大?

1 个答案:

答案 0 :(得分:0)

嗯,我认为你错误地解决了这个问题

  • 但我可能误解了您的问题
  • 你有点云,想要三角网格
  • 你不能随意添加积分......这只会使事情复杂化
  • 代替周边多边形
  • 然后使用三角测量

最近我解决了非常类似的问题。

  • 此处:https://stackoverflow.com/a/21884021/2521214
  • 它在点云中找到洞并创建周边多边形
  • 除非孔很小或与其他孔嵌套,否则它没有伪影
  • 您需要调整H,V线扫描以满足您的需求(或填充地图[] []倒置)
  • 只需在地图中找到点而不是洞

在此之后你只需使用任何三角测量......

  • 或自己制作
  • 因为您在H,V行(重复标记)
  • 中有凸/凹边框信息
  • 如果在单行或列上有更多行,那么1具有相同的孔ID
  • 然后你必须对网格进行处理以从中获取凸多边形