Question

Le résultat de ma triangulation de Delaunay sur 1000 points uniformément aléatoires ne semble pas correct du tout (voir image). Certains points semblent appartenir à un nombre anormalement élevé de triangles ... Une idée?

alt text

Détail: CGAL 3.4, Windows XP

Ce sont les types que j'ai utilisés:

typedef CGAL::Exact_predicates_inexact_constructions_kernel K; 
typedef CGAL::Triangulation_2<K>         Triangulation; 
typedef Triangulation::Point             Point; 

L’affichage est le suivant:

delaunay_c::Triangulation::Edge_iterator eit = T.edges_begin(); 
delaunay_c::Triangulation::Edge_iterator end = T.edges_end(); 
for(;eit != end; ++eit) 
{ 
    delaunay_c::Triangulation::Segment s = T.segment(eit); 
    line.m_a = delaunay_c::convert(s.source()); 
    line.m_b = delaunay_c::convert(s.target()); 
    line.draw(); 
} 

La fonction convertit simplement la conversion de Point CGAL vers un autre format de point

EDIT: suite à la réponse choisie, je modifie simplement la triangulation en delaunay_triangulation:

typedef CGAL::Delaunay_triangulation_2<K>         Triangulation;

Et cela donnait: alt text

Était-ce utile?

La solution

Utilisez-vous une triangulation régulière plutôt qu'une triangulation de Delaunay?

Vous utilisez ce qui suit, non?

CGAL::Delaunay_triangulation_2<Traits,Tds>

http://www.cgal.org/ Manuel / 3.4 / doc_html / cgal_manual / Triangulation_2_ref / Class_Delaunay_triangulation_2.html # Cross_link_anchor_1152

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top