Is there a way to prevent or circumvent the formation of long edges in a Deluanay Triangulation?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I am finding that the delaunay() function causes long edges to be formed near to the boundries of my triangulation.
These are undesirable and are causing trouble for later computations.
Is there any way to prevent them forming or, failing that, detect them and make these edges reference nearer end points?
1 Commento
Sean de Wolski
il 2 Giu 2011
What later computations are long edges undesirable for? Maybe you could focus that computation (per John's response)?
Risposte (2)
John D'Errico
il 2 Giu 2011
Since a delaunay triangulation is necessarily convex, exactly how do you intend to triangulate the domain without long edges? TRY IT! Remember, you MUST have a convex result.
You can use an alpha shape, which starts from a delaunay triangulation, and erodes some of the parts.
3 Commenti
John D'Errico
il 2 Giu 2011
The delaunay triangulation does compute a convex result. The fact is, you cannot do better around the edges with any triangulation. For example...
>> X = rand(10,2)
X =
0.81472 0.15761
0.90579 0.97059
0.12699 0.95717
0.91338 0.48538
0.63236 0.80028
0.09754 0.14189
0.2785 0.42176
0.54688 0.91574
0.95751 0.79221
0.96489 0.95949
>> tri = delaunayn(X)
tri =
2 3 8
8 5 2
10 2 9
2 5 9
6 1 7
7 3 6
7 8 3
5 8 7
4 9 5
4 7 1
5 7 4
>> trimesh(tri,X(:,1),X(:,2))
There are long triangles around the edges. No alternative triangulation exists that does not do the same, yet is still convex and triangulates that set of points! It is the requirement of convexity that causes your problem.
Wolfgang Schwanghart
il 2 Giu 2011
Hi AJP,
without knowing what exactly yoou want to do, I like to link to a tool that was extremely helful to me.
Perhaps it does what you need.
Cheers, W.
Vedere anche
Categorie
Scopri di più su Delaunay Triangulation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!