Pergunta

O resultado da minha triangulação de Delaunay em 1000 pontos unifomally aleatórios doens't olhar direito em tudo (ver imagem). Alguns pontos parecem pertencer um número anormalmente elevado de triângulos ... Alguma idéia?

text alt

Detalhe: CGAL 3.4, o Windows XP

Este é o tipo que eu usei:

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

A exibição é a seguinte:

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

A função de conversão simplesmente converter de CGAL ponto a outro formato de ponto

EDIT: após a resposta escolhida, eu só mudar triangulação para delaunay_triangulation:

typedef CGAL::Delaunay_triangulation_2<K>         Triangulation;

E deu: text alt

Foi útil?

Solução

Você está usando um regular em vez de uma triangulação de Delaunay?

Você está usando o seguinte, certo?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top