找到两条线之间交点的最有效算法是什么?
你有四个点A,B,C,D。 找到AB和CD之间的交叉点。 尽可能优化算法。
这有两种方法,一种是使用点积,另一种是使用斜率截距形式的线。哪一个更好。
这可能听起来是一个重复的问题,但我想问的是哪种方法更好,效率更高,复杂度更高。
答案 0 :(得分:7)
这不需要任何算法,只需要solution of two intersecting lines。这是一个基本的数学问题,而不是计算问题(它只是代数操作)。
那就是说,a discussion你应该找到帮助。
答案 1 :(得分:2)
我更喜欢Bourke先生的网站提出这些类型的问题。这是他关于相交行的文章:
Intersection point of two lines
鉴于这是多么微不足道,优化非常困难。
我想你能做的最好就是确保所有内容都在CPU缓存中,这样你就可以全速运行这些数学运算。您可能想要预先计算一些差异(P2-P1),但在这个世界中很难说内存查找是否比仅仅执行减法更快。 CPU可以在1 op中进行减法和乘法,而内存查找,如果它们错过了缓存,则可能需要几个数量级的时间。
答案 2 :(得分:0)