Вы находитесь на странице: 1из 1

Нам поступают данные:


(x1, y1), (x2, y2) - координаты точек для построения первой прямой;

(x3, y3), (x4, y4) - координаты точек для построения второй прямой;
Набор точек для проверки. 


В общем случае расчеты проводим следующим образом. 

Вычисляем коэффициент наклона k для каждой из прямых:

y2 y1 y4 y3
k1 k2
x2 x1 x4 x3


Если k1=k2, значит прямые параллельны, и мы можем проводить дальнейшие
вычисления. В обратном случае — нет решения. 

Если k1=k2, рассматриваем следующее неравенство:


k1 x x1 y y1 k1 x x3 y y3 0

Если оно не выполняется, значит была найдена точка, которая не лежит между
заданными параллельными прямыми, а значит, функция прекращает свою работу и
возвращает 0. В противном случае функция возвращает 1.

Для того, чтобы функция не выбрасывала исключение, рассматриваем отдельный
случай, когда x1=x2 или x3=x4. 

Если выполняются оба этих условия одновременно — заданные прямые совпадают,
следовательно наша задача не имеет решений. 

Если выполняется одно из условий, проверяем прямые на параллельность и, если они
параллельны, выполняем следующие действия. 

Если x1 > x2, тогда мы возвращаем 0 в случае, когда при любых значениях у: x >= x1 и
x >= x2. 

Аналогичные размышления проводим для случая x1 > x2. 

При равенствах x1=x2, x3=x4, y1=y2, y3=y4 мы получаем совпадающие точки, по
которым построение прямой невозможно — решений нет.