Tôi có một tập hợp các điểm 2D với một id liên quan. (ví dụ: nếu các điểm được lưu trữ trong một mảng, id là chỉ mục vào mỗi điểm 0, ...., n-1).CGAL 2D Delaunay Triangulation: Làm thế nào để có được các cạnh như cặp id đỉnh
Bây giờ tôi tạo một tam giác Delaunay của những điểm này và muốn liệt kê tất cả các cạnh hữu hạn. Đối với mỗi cạnh, tôi muốn có các id của các điểm được đại diện bởi 2 đỉnh tương ứng. Ví dụ: nếu có một cạnh giữa điểm 0 và điểm 2 thì (0,2). Điều này có thể không?
#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: rất hữu ích. cảm ơn. – 911
Rất rõ ràng! cảm ơn bạn. – LoveMeow