Я бы не назвала это алгоритмом, но так надо строить перпендикуляр из данной точки на прямую.
Из точки С, как из центра,
проводим дугу DE, пересекающую MN в точках D, Е. Из точек D, E, как из центров,
проводим одним и тем же радиусом две дуги cd, ab, пересекающиеся в точке F.
Проведя FC, получим искомый перпендикуляр.