Ваша линия имеет базовую точку (x1,y1)
и вектор направления:
(dx, dy) = (x2-x1, y2-y1)
Нормализовать этот вектор, разделяя компоненты на длину вектора:
len = sqrt((x2-x1)^2 + (y2-y1)^2)
(udx, udy) = (dx / len, dy / len)
перпендикулярный вектор:
(px, py) = (-udy, udx)
(note also reverse vector (udy, -udx) to shift onto another side)
Базовая точка для параллельной линии на расстоянии dist:
(nx, ny) = (x1 -udy * dist, y1 + udx * dist)
Второй пункт, если вам нужно:
(sx, sy) = (nx + dx, ny + dy)