4

1000 個の一様にランダムな点に対する Delaunay 三角形分割の結果は、まったく正しくありません (画像を参照)。いくつかの点は、異常に多数の三角形に属しているようです... 何か考えはありますか?

代替テキスト

詳細: CGAL 3.4、Windows XP

これは私が使用したタイプです:

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

表示は次のとおりです。

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

関数 convert は、CGAL Point から別のポイント形式に単純に変換します。

編集: 選択した回答に従って、三角形分割を delaunay_triangulation に変更します。

typedef CGAL::Delaunay_triangulation_2<K>         Triangulation;

そしてそれは与えました: 代替テキスト

4

1 に答える 1

5

Delaunay三角形分割ではなく、通常の三角形分割を使用していますか?

あなたは次のものを使っていますよね?

CGAL::Delaunay_triangulation_2<Traits,Tds>

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

于 2009-06-23T06:11:57.220 に答える