Расстояние между параллельными линиями - страница 6

 

   Увидел сообщение https://www.mql5.com/ru/forum/237198/page3#comment_7110307, из которого проясняется,
где x, а где y:
"Прямая (точка1: x=93 y=300) и (точка2: x=163 y=268)
Найти расстояние от точки  x=410 y=245 до прямой"

   Приводим исходные данные к требованиям, изложенным выше в https://www.mql5.com/ru/forum/237198/page5#comment_7112353.
Для этого нужно лишь поменять знак y, поскольку он для заданных значений растет вниз. Надо вверх:

p1 = (93, -300)   p2 = (163, -268)  p3 = (410, -245)

dx = x2 - x1 = 163-93=70;      dy = y2 - y1 = -268-(-300) = 300-268 = 32;

L = (dx^2 + dy^2)^0.5 = (70^2 + 32^2)^0.5 = (4900 + 1024)^0.5 = 5924^0.5 = 76.967525619547

S = (x3 - x1) * (-dy/L) + (y3 - y1) * (dx/L) = (410-93) * (-32/76.967525619547) + (-245+300) * (70/76.967525619547) =
  = (55*70 - 317*32)/76.967525619547=-81.77474784769

Расстояние 81.77474784769. Сдвиг S отрицательный, так как, глядя из точки p1, мы будем видеть точку p3 правее точки p2.

P.S. Если отрицательные координаты y неудобны, можно еще и сдвинуть начало отсчета, добавив ко всем значениям y в трех точках, например, по 500. По смыслу задачи ясно, что от этого ничего не изменится.