4

一条线段可以由一对点定义。有一些众所周知的算法可以确定二维空间中的两条线段是否相交。但是,如果我们通过在线条上添加宽度来让它变得更复杂怎么办?

想象一下,您有一个由一对点和一个宽度定义的线段。你最终得到的是一个矩形,其边不一定与坐标轴对齐。 (因此您不能使用标准的“矩形重叠”功能。)确定两个这样的线段是否重叠的最佳方法是什么?

4

2 回答 2

0

一条有宽度的线可以看作是两条平行线,由你所说的宽度分开。因此,每条具有宽度的两条线对应于四条线。只要弄清楚这 4 条线中是否有任何一条相交,就完成了,不是吗?

更新:评论指出这将错过重叠的平行线。我认为这就是它会遗漏的全部内容,因此可以将这种情况作为特殊情况处理。

于 2013-05-24T09:07:46.743 回答
0

我建议使用分离轴的方法来找出旋转的矩形(粗线段)是否重叠。这种方法既快速又简单。

于 2013-05-24T03:04:06.973 回答