pyvista / pyacvd

Python implementation of surface mesh resampling algorithm ACVD
MIT License
188 stars 16 forks source link

Erroneous sub-triangle #15

Open balazsfabian opened 3 years ago

balazsfabian commented 3 years ago

Under some conditions, pyacvd produces incorrect triangles, as seen in the image below: triangles

The small triangle is indeed inside the large one, resulting in incorrect half-edge structure. Changing the number of subdivsions or the cluster parameter solves this. However, it is inconvenient to rerun the whole application once this pops up.

Could you help me with this? I can provide input files to reproduce the issue.

orbisvicis commented 2 years ago

I get a lot of these and I'm wondering which filters I can use to clean them up. It's hard to tell but I assume that's three complete triangles sharing one edge, and two of the triangles lie on the same plane. In region of high curvature I also get three triangles sharing one edge, but instead of the coincident triangles, one triangle juts out of the surface like a pointy tooth.