Closed krober10nd closed 2 years ago
Why not?
Several reasons:
It's slow O(N^2) at worst case scenario. Sometimes I have a Delaunay mesh I built in parallel and I want to do mesh optimization like Laplacian smoothing. The edge flipping takes longer than the entire execution of the parallel triangulation in the first place defeating the parallelization.
It's not necessary. Laplacian smoothing is supposed to move the nodes to their arithmetic average of their neighbors, nothing more.
I may have some fixed and constraints in the triangulation that are not Delaunay and this will destroy all the work I put in to constrain the edges.
It's slow, really? On all meshes I've seen it only takes a tiny fraction of the run time. Note that only very few edges are actually flipped, and checking the need for flips is O(n) I think. Feel free to append a mesh where you experience trouble, I'll be happy to stand corrected.
I think I'll add an option for disabling the flips.
I appreciate it @nschloe
relative
Relative to the cost of the rest of the algorithm, yes. And I think edge flips are a lot cheaper than the movement of the points. At least that's what I gather from my own measurements.
Feel free to append your mesh and I'll try it out.
A simple question: why does the Laplacian smoother flip edges until the triangulation is Delaunay? Laplacian smoothing can occur on all kinds of triangulations...Is there a rationale behind this?