geometry - (可能是无界的)凸多边形与半平面的交集

标签 geometry polygon computational-geometry intersection cgal

这是 How to test if a line intersects a convex polygon? 的后续问题

假设我能够测试一条线是否与凸多边形相交(我仍然不确定最好的方法是什么,这个问题与我的困难有关)。我想要做的是:如果我发现线与多边形相交,我想保留创建的左侧或右侧多边形。我不确定如何维护多边形对象,以便上述内容易于计算。

enter image description here

总而言之,给定一个多边形对象和一条线,我如何找到通过将线创建的半平面与多边形相交而创建的新多边形? CGAL 或任何其他库是否有现成的功能?如果我必须从头开始编码,我应该如何维护多边形对象?

最佳答案

我认为使用 CGAL 的一种解决方案可能是使用 2D Boolean Operations on Nef Polygons .但是对于凸多边形,这可能是一种矫枉过正。困扰我的是您提到您可能想要使用无界凸多边形。如果没有 Nef 多边形,我不知道是否可以在 CGAL 中表示。

关于geometry - (可能是无界的)凸多边形与半平面的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29829839/

相关文章:

math - 确定一个点是否位于特定的几何区域内

android - libgdx 中的多边形与多边形碰撞

java - 四边数据结构 makeEdge 逻辑

c# - 如何进行正确的多边形旋转? (在 C# 中,尽管它适用于任何事物)

javascript - Google map 多边形是否已编入索引/我如何引用它们的索引?

algorithm - 在 O(n) 时间内找到重叠约会?

math - 从图形生成三角化道路几何图形

javascript - 分形螺旋图 : possible rounding errors in javascript

python - 使用 OpenCV 进行圆检测

algorithm - 确定一个多边形是否包含另一个多边形