algorithm - 给定一组线对,您将如何找到所有这些线所包围的区域?

标签 algorithm

如果给你一组线对,你将如何找到所有线对所包含的面积(如果存在)?例如,如果我有两行:

((0, 0), (0, 10)) & ((10, 0), (10, 10))

((0, 0), (10, 0)) & ((0, 10), (10, 10))

你将如何找到所有这些线所包围的区域(在这个简单的例子中,它是由点 (0,0),(10,0),(10,10) & (0, 10).

哪些算法可以为我指明解决此类问题的方向?

编辑:线条不会总是在末端接触或相互交叉。如果存在一对线不与任何其他线相交并且不在边缘接触,则可以得出结论,这组线对没有被所有线包围的区域。

EDIT2:采用以下几行:

对 1:((0, 0), (10, 0)) & ((0, 10), (10, 10))

对 2:((0, 0), (0, 10)) & ((10, 0), (10, 10))

对 3:((2, 0), (2, 10)) & ((8, 0),(8, 10))

这三对直线围成的区域是由点 (2,0)、(2,10)、(8,10) 和 (8,0) 定义的区域。然而,凸包算法将返回值 (0,0)、(10,0)、(10,10) 和 (0,10)。

最佳答案

编辑:凸包似乎不是解决方案。

只是为了确保我理解您的问题:这张图片中的红色区域是您想要的吗? enter image description here

关于algorithm - 给定一组线对,您将如何找到所有这些线所包围的区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20876747/

相关文章:

algorithm - 没有比赛顺序的 Elo 评分系统

algorithm - 在不影响运行时间的情况下维护可汗算法(渐近)

algorithm - 计算表达式长度而不计算表达式本身

c++ - 需要 Codechef 练习题帮助 - 在阶乘中找到尾随零

c++ - 实现数学公式时的溢出问题

算法问题,求解字典中的变量

java - 设计 super 英雄游戏

algorithm - GCD - 欧几里得算法和因式分解算法分析

javascript - 使用 Canvas 和 JavaScript 进行多边形表示的图像采样算法?

algorithm - 这个递归算法的时间复杂度是多少?