CGAL: résultat de Delaunay erroné?
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?
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:
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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow