从一组点中获得二维alpha形状边界顶点
Get 2d alpha shape boundary vertices from set of points
我以前没有使用过CGAL,我想要的只是一个函数,它接受2d的点集和alpha参数,并返回代表边界多边形的点向量。我可以做一个alpha形状的物体,但我不知道如何从那里得到一个向量。编辑:一个警告是,可能有几个不连接的组件,我想知道这一点。有没有一种简洁的解能让我得到每个多边形的有序顶点向量?
我遇到过同样的问题,最后像上面的答案那样对所有顶点进行排序。也许,它会帮助别人。
但是,我对这种方法并不完全满意。@Flowers,你还有在边缘上迭代的代码吗?我做不到。对不起,我没有足够的信誉在评论中问这个问题试试这样:
Alpha_shape_2 A(points.begin(), points.end(),
FT(10000),
Alpha_shape_2::GENERAL);
std::vector<Alpha_shape_2::Point> points;
for (Alpha_shape_2::Alpha_shape_vertices_iterator
avit = A.alpha_shape_vertices_begin(),
avit_end=A.alpha_shape_vertices_end();
avit!=avit_end; ++avit)
{
points.push_back(avit->point());
}
参考函数手册
结果是遍历边缘并按顺序找到顶点
相关文章:
- 将二维矢量传递给类
- 将值从二维数组输出到文本文件
- 我在二维向量中是否正确分配了内存
- 带结构的二维矢量:如何存储元素
- 在二维数组中查找最小值和最大值?
- 移动二维数组中的字符
- C++ 传递二维字符数组
- 如何正确填充在堆上分配的二维数组?
- 传递二维数组时出现问题
- 具有随机数的二维数组不会更改
- 如何在C++中获取二维数组中最少的一列数?
- 如何使用用户输入变量制作二维数组?
- C++ 中的二维整数数组,每行中的元素数量不均匀
- C++ 中动态二维数组的访问冲突
- 在二维向量或数组中可以存储的最大元素数是多少?
- 如何将整数字符串转换为整数的二维向量?
- 二维矢量数据成员
- 遍历二维数组的所有子数组
- 将二维数组的所有元素插入到一维数组中
- 从一组点中获得二维alpha形状边界顶点