2009-06-22 21 views
4

Das Ergebnis meiner Delaunay-Triangulation an 1000 unifomal zufälligen Punkten sieht überhaupt nicht gut aus (siehe Bild). Einige Punkte scheinen eine ungewöhnlich hohe Anzahl von Dreiecken zu haben ... Irgendeine Idee?CGAL: falsches Delaunay Ergebnis?

alt text

Detail: CGAL 3.4, Windows XP

Dies ist die Typen I verwendet:

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

Das Display ist wie folgt:

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(); 
} 

Die Funktion convert Konvertieren Sie einfach von CGAL Point in ein anderes Punktformat

EDIT: Nach der gewählten Antwort, ich delaunay_triangulation nur Triangulation ändern:

typedef CGAL::Delaunay_triangulation_2<K>   Triangulation; 

Und es gab: alt text

Antwort