Вопрос

Результат моей триангуляции Делоне на 1000 единичных случайных точек выглядит совсем не так (см. изображение). Кажется, некоторые точки принадлежат аномально большому количеству треугольников ... Есть идеи?

alt text

Подробно: 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(); 
} 

Функция преобразования просто конвертирует из CGAL Point в другой формат точек

РЕДАКТИРОВАТЬ: после выбранного ответа я просто изменяю триангуляцию на delaunay_triangulation:

typedef CGAL::Delaunay_triangulation_2<K>         Triangulation;

И это дало: alt text

Это было полезно?

Решение

Используете ли вы регулярную, а не триангуляцию Делоне?

Вы используете следующее, верно?

CGAL::Delaunay_triangulation_2<Traits,Tds>

http://www.gal. Руководство / 3,4 / DOC_HTML / cgal_manual / Triangulation_2_ref / Class_Delaunay_triangulation_2.html # Cross_link_anchor_1152

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top