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?
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:
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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow