Центр между обеими точками задается как
((x1+x2)/2, (y1+y2)/2)
в то время как (ненормализованное) нормальное значение
(-(y2-y1), (x2-x1))
Если мы нормализуем этот вектор, мы получим
(-(y2-y1), (x2-x1)) / sqrt((x2-x1)^2+(y2-y1)^2)
и если мы объединяем оба, мы находим две точки
((x1+x2)/2, (y1+y2)/2) +- D * (-(y2-y1), (x2-x1)) / sqrt((x2-x1)^2+(y2-y1)^2)
, которые оба отвечают вашим требованиям.