1

自从我处理一些数学问题以来已经有一段时间了,我有点生疏了,如果我问一个愚蠢的问题,请客气。

问题:我有 n 对线,它们作为二维点数组保存在内存中,因此没有显式函数。我必须检查情侣身上的线条是否平行,这是一项非常容易的任务,因为检查它们的导数是否相同就足够了。

要在算法中做到这一点,我必须检查函数两点之间的直线斜率(我有),因为我不需要极高的精度,我可以使用简单的公式:

m = (y2-y1)/(x2-x1)

但很明显,这导致我遇到了 x2 = x1 的大问题。我无法为这种情况提供默认值......我该如何解决?

4

1 回答 1

3

在 2D 中比较斜率的另一种方法如下:

    m1 = (y2-y1)/(x2-x1)

    m2 = (y4-y3)/(x4-x3)

as m1 = m2


(y2-y1)*(x4-x3) = (y4-y3)*(x2-x1) if lines are parallel 

这不会给出除以零并且更有效,因为它避免了浮点除法。

于 2013-11-14T09:41:39.813 回答