基本上,如果一条线和一条线段相交,我需要返回一个布尔值。对于该行,我所获得的信息是斜率,随机点的xy坐标和y截距的xy。对于线段,我有线段和两个端点xy坐标。有什么想法吗?
答案 0 :(得分:0)
实现这一点并不是非常困难,它似乎是最困难的概念部分。我可能稍后为此编写代码以获得乐趣,但这应该足以让您入门。此外,请注意,这可能是一个非常糟糕的解决方法(时间/空间),但它肯定会工作。
如果您想找到一个好的解决方案,请使用将该行转换为向量,并使用我所有文本下方链接中答案中的实现。
这对您来说应该更容易,因为您已经有第一行的两个xy坐标和线段的两个终点坐标。
通过评论中的一些示例检查此答案以获得非常好的解决方案:https://stackoverflow.com/a/565282/2142219
答案 1 :(得分:0)
(Xr, Yr)
的斜率为S
的直线有等式D(X, Y):= (Y - Yr) - S (X - Xr) = 0
。
只需检查D(Xa, Ya)
和D(Xb, Yb)
是否有相反的符号。