【问题标题】:Line and rectangle intersection直线和矩形的交点
【发布时间】:2018-11-22 20:36:02
【问题描述】:

我有一个矩形和矩形内的线段,线可以向两边延伸。我知道矩形的四个顶点的坐标以及直线的两个顶点的坐标。

我尝试编写一个函数,该函数将返回线段和矩形的两个交点的坐标。我使用的语言是python。问题是我不确定这条线会与矩形的哪一侧相交。所以它使我的功能变得非常复杂,我不确定我是否已经涵盖了所有情况。

我有算法可以做到这一点吗?

【问题讨论】:

  • 矩形是否轴对齐?
  • 用所有四个解决它并检查允许的间隔
  • 是的,矩形是轴对齐的
  • 你的意思是先计算每条线的“可能交叉点”,然后检查它们是否在合法区间内?
  • 编写一个例程,找到一条线段与包含另一条线段的线段的交点(如果有)。调用该例程四次。这降低了代码的复杂性。

标签: python polygon graph-algorithm intersection line-intersection


【解决方案1】:

您的矩形可以表征为xminxmaxyminymax。找到你的直线方程(见this)。然后为xminxmaxyminymax 中的每一个求解您的行。 消除具有x < xminx > xmaxy < yminy > ymax 的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-09
    • 1970-01-01
    • 2010-12-07
    • 2014-12-06
    • 2013-12-13
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多