CGAL:将线段延伸到多边形边界
CGAL: extend segment until the polygon boundary
如果在多边形的两个顶点之间有一个线段,有没有办法使用CGAL将该线段延伸到多边形边界?(如果至少有一个顶点是反射顶点,则可能发生这种情况)。
您可以通过mySegment.supporting_line()
获得线段的支撑线,并检查该线与多边形边界的相交位置。然后,可以根据找到的交点创建一个新线段。
设p1和p2为分段的顶点。如果我说得对,你会想根据交点的坐标对它们进行排序,并创建一个线段,从第一个小于p1和p2的交点到第一个大于p1和p2的交点。(注意,这里要处理几个特殊情况。)
要获得交点,可以在多边形的线段上迭代,并通过CGAL::intersection
将每个线段与上述支撑线相交。
一种更复杂的方法是创建一个包含多边形的排列,在其上附加一个观察者,然后将上述支撑线添加到排列中。然后,您可以从对obs.before_split_face()
和obs.before_split_face()
的自动调用中获得所需的信息。
相关文章:
- std::当在256字节边界上写入整数时,流的奇怪行为
- 计算缩放多边形的比例,得到给定的多边形面积
- 将QGraphicsItem的移动区域限制在多边形区域内
- 使用不变量来确定二分搜索中的边界条件
- 跨 DLL 边界访问虚拟方法是否安全/可能?
- 重新排列单线以形成闭合多边形?
- 提升几何体:C++并集多个多边形
- 在 64 位边界上对齐C++结构数组?
- 在 QT C++中绘制/操作多边形
- Maya API C++:从多边形获取材质
- std::数组边界检查如何工作?
- CGAL:如何创建填充边界曲线的曲面网格?
- 添加带有提升的多边形::p奥利贡不编译?
- CGAL:将线段延伸到多边形边界
- 如何确定 (x, y) 点是否位于由边界点列表定义的多边形内
- 找到多边形(或阶梯)的边界
- 在OpenCV中查找多边形边界内的平均颜色
- 如何将矩形(边界框)裁剪的voronoi图转换为一组多边形
- 指向多边形的内部或边界
- 用边界框确定多边形交点的有效方法