algorithm for filling a surface mesh

假装没事ソ 提交于 2019-12-02 01:26:44
Spektre

Well I think you are approaching the problem wrongly

  • but I could misunderstood your problem
  • you have point cloud and want triangulated mesh
  • you can not add points at your will ... that just complicate things
  • instead find perimeter polygon
  • and then use triangulation on it

Recently I was solving very similar problem.

  • here: https://stackoverflow.com/a/21884021/2521214
  • it is finding holes in point-cloud and create perimeter polygon
  • unless the hole is very small or nested with other holes it works without artifacts
  • you need to tweak the H,V line scan to meet your needs (or fill the map[][] inverted)
  • just find points instead of holes in map

After this you just use any triangulation ...

  • or make your own
  • because you have the convex/concave border info in H,V lines (duplicate flag)
  • if on single row or column are more lines then 1 with the same hole id
  • then you have to disect the mesh to obtain convex polygons from it
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!