我试图根据阿波罗尼乌斯图生成加权voronoi。我在用CGAL库。我找不到一个很好的例子,说明如何从阿波罗尼乌斯那里得到面孔和顶点。我有以下几种类型:
typedef double NT;
typedef CGAL::Cartesian< NT> KernelCartes;
typedef CGAL::Ray_2<KernelCartes> Cartes_Ray;
typedef CGAL::Line_2<KernelCartes> Cartes_Line;
typedef CGAL::Segment_2<KernelCartes> Cartes_Segment;
typedef std::list<Cartes_Ray> Cartes_RayList;
typedef std::list<Cartes_Line> Cartes_LineList;
typedef std::list<Cartes_Segment> Cartes_SegmentList;
typedef CGAL::Point_2<KernelCartes> Cartes_Point;
typedef CGAL::Apollonius_graph_traits_2<KernelCartes> ApoTraits;
typedef CGAL::Apollonius_graph_2<ApoTraits> Apo_Graph;
typedef Apo_Graph::Site_2 Apo_Site;在下面的文章中,我试图创建阿波罗尼乌斯图。WVD为加权voronoi图(Apo_Graph)。
WVD.clear();
double Weight;
foreach(QPointF point,List_Nodes)
{
Weight = NewRandomNumber(1,10);
Apo_Site k(Cartes_Point(point.x(),point.y()),Weight);
WVD.insert(k);
}现在,我需要知道如何才能访问加权voronoi和生成的人脸(以及每个人脸的顶点)。
发布于 2013-08-19 09:46:56
模板类CGAL::Apollonius_graph_2与CGAL2DDelaunay三角剖分共享其大部分API。这个API是在2中总结的。CGAL::Apollonius_graph_2<ApoTraits>就是这个概念的一个模型。
https://stackoverflow.com/questions/18274584
复制相似问题