Простая формула для линии (в 2D) (полученная из здесь ):
P1 (x1, y1) и P2 (x2, y2) - это точки, определяющиеline.
(y-y1) (x2-x1) + (y1-y2) (x-x1) = 0 (давайте использовать f (x, y) = 0)
Чтобы проверить, совпадают ли две строки, представьте, что вторая строка определяется точками P3 (x3, y3), P4 (x4, y4).
Чтобы убедиться, что эти строки «вполне»то же самое вы должны проверить, находятся ли две точки (P3, P4), определяющие вторую линию, «достаточно» близко к предыдущей.
Это легко сделать, вычисляя f (x3, y3) и f (x4)., y4).Если эти значения близки к 0, то линии совпадают.
Pseudocode:
// I would chose tolerance around 1
if ( f(x3,y3) < tolerance && f(x4,y4) < tolerance )
{
// line P1,P2 is the same as P3,P4
}