Her birinde ilişkili bir kimlik bulunan bir 2B nokta kümesi var. (örneğin, noktalar bir dizide saklanırsa, kimlik her bir noktaya 0, ...., n-1) endekstir.CGAL 2D Delaunay Üçgenleme: Kenarları köşe çiftleri olarak nasıl alabilirim?
Şimdi bu noktalardan bir Delaunay üçgenleme oluşturuyorum ve tüm sonlu kenarları listelemek istiyorum. Her kenar için, karşılık gelen 2 köşe ile temsil edilen noktaların kimliklerini almak istiyorum. Örnek: 0 ile 2 arasındaki bir kenar varsa, o zaman (0,2). Mümkün mü?
#include <vector>
#include <CGAL\Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL\Delaunay_triangulation_2.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Delaunay_triangulation_2<K> Delaunay;
typedef K::Point_2 Point;
void load_points(std::vector<Point>& rPoints)
{
rPoints.push_back(Point(10,10)); // first point
rPoints.push_back(Point(60,10)); // second point
rPoints.push_back(Point(30,40)); // third point
rPoints.push_back(Point(40,80)); // fourth point
}
void main()
{
std::vector<Point> points;
load_points(points);
Delaunay dt;
dt.insert(points.begin(),points.end());
for(Delaunay::Finite_edges_iterator it = dt.finite_edges_begin(); it != dt.finite_edges_end(); ++it)
{
}
}
sloriot: çok yararlı. Teşekkürler. – 911
Çok net! teşekkür ederim. – LoveMeow