algorithm - 闭合多边形链与线的交点

标签 algorithm geometry

我需要找到能够找到闭合多边形链和线的 2 个交点的算法。 我的多边形链被定义为一个设定点坐标 (x,y),我也有直线方程。

准确的说,请看下图。我的输入是直线方程和 P1...Pn。我想找到点 X1 和 X2 的坐标。

enter image description here

最佳答案

鉴于该线的方程式为 a*x+b*y+c=0 , 你可以找出每个点在那条线的哪一侧,只需插入点的 x,y 坐标 P_k进入那个表达:

S_k = a*x_k + b*y_k + c

对于线上的点,结果 S_k为 0(服从直线方程)。对于线一侧的点,结果将 > 0,对于另一侧的点,结果将 < 0。对每个点按顺序执行此操作,直到符号切换:S_k * S_{k-1} < 0 .这条线穿过 P_kP_{k-1} .

关于algorithm - 闭合多边形链与线的交点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21030030/

相关文章:

python - 用于查找子图同构的 QuickSI 算法

algorithm - 遍历连接的组件

java - 如何计算多个字符串长度

algorithm - 网格上二维正方形的非分离矩形边缘覆盖

.net - 如何将FormattedText字符串转换为基于几何的对象?

algorithm - 红黑树 : Split/Concatenate in log(n) time

python - 如何在没有 itertools.combinations 的情况下在 Python 中生成列表的递增排列

matlab - 如何参数化弯曲圆柱体?

math - 霍夫变换过滤线

geometry - 给定 2 点,我如何画一条与两点形成的线成直角的线?