Я бы предложил другой подход, чем MBo, чтобы получить центры двух окружностей, которые имеют заданный радиус и проходят как к начальной, так и к конечной точке.
Если P и Q - начальная и конечная точки дуги, центр каждого из двух окружностей лежит на прямой L, ортогональной PQ, линии от P до Q и которая делит пополам PQ. Расстояние d от центров до L легко получается по теореме Пифагора. Если e - длина PQ, то d^2 + (e/2)^2 = r^2. Таким образом, вы избегаете решения этой системы уравнений, которую вы получаете от подхода MBo.
Обратите внимание, что если у вас есть полукруг, любой подход станет численно неустойчивым, потому что на нем есть только одна окружность заданного радиуса с P и Q. (Я думаю, что я помню, что правильный термин «проблема плохо поставлена» в этом случае. Это происходит, когда P и Q точно разделены на 2r, и чтобы выяснить, действительно ли это истинно, вам нужно проверить равенство двух удвоений, которые всегда немного проблематично. Если по какой-то причине вы знаете, что у вас есть полукруг, вам лучше всего вычислить центр PQ).
ТОЧНО мой вопрос тоже. Вы отправились с одним из этих ответов или чем-то еще? –