CGAL:错误的Delaunay结果?

4 c++ cgal

我的Delaunay三角测量在1000个均匀随机点上的结果看起来并不正确(见图).有些点似乎属于异常高数量的三角形......有什么想法吗?

替代文字

细节:CGAL 3.4,Windows XP

这是我使用的类型:

typedef CGAL::Exact_predicates_inexact_constructions_kernel K; 
typedef CGAL::Triangulation_2<K>         Triangulation; 
typedef Triangulation::Point             Point; 
Run Code Online (Sandbox Code Playgroud)

显示如下:

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(); 
} 
Run Code Online (Sandbox Code Playgroud)

函数转换只是从CGAL Point转换为另一种点格式

编辑:按照选择的答案,我只是将三角测量改为delaunay_triangulation:

typedef CGAL::Delaunay_triangulation_2<K>         Triangulation;
Run Code Online (Sandbox Code Playgroud)

它给了: 替代文字

nsa*_*ers 5

您使用的是常规而非Delaunay三角测量吗?

你正在使用以下,对吗?

CGAL::Delaunay_triangulation_2<Traits,Tds>
Run Code Online (Sandbox Code Playgroud)

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