Здравствуйте, LuciferSaratov, Вы писали:
LS>если вычисления делать с трехмерными координатами, то в общем-то можно просто рассчитать точку пересечения срединных перпендикуляров, она автоматически получится принадлежащей плоскости этой дуги.
LS>однако искать точку пересечения двух прямых в трехмерном пространстве это та еще морока.
Зачем прямых? Срединные перпендикуляры в трёхмерном пространстве — это плоскости, плюс исходная плоскость, получается линейная система из трёх уравнений.
LS>скорее всего автору топика это нужно для расчетов в программе, а там будут практически неизбежны неточности вычислений.
Про это ничего не сказано, если исходные координаты целочисленные, то всё считается в целых числах (возможно, длинных), а если исходные в плавучке, то можно считать расстояние от целевой точки до окружности и определяться с критериями допуска.
LS>и вычислив эти срединные перпендикуляры может оказаться, что они не пересекаются вообще — из-за неточности операций с плавающей точкой.
LS>это нужно будет как-то учитывать при расчетах.
Если плоскости не пересекутся, то они параллельны, тогда исходные 3 точки не определяют окружность, и задача некорректна. Но тогда и Вашим методом уравнение не построится

Погрешности надо учитывать, конечно.
LS>в этом отношении перевод всего в координаты на плоскости даст более стабильный результат — срединные перпендикуляры в плоскости точно пересекутся.
Тоже не факт

Из-за погрешностей от замены координат, если исходная дуга — почти прямая, то прямые могут либо вообще не пересечься, либо пересечься в произвольной точке, очень далёкой от центра окружности. Как с этим бороться — непонятно, нужно чёткое ТЗ.
C>> сравниваем расстояние до этого центра от проверяемой точки и от одной из искомых. Если равны — то точка лежит и на сфере и на плоскости, то есть на нужной окружности, если не равны — не лежит.
LS>к такому решению нужно еще придумать какой-то прием, который позволит проверить принадлежность именно дуге, а не только окружности.
LS>очевидный путь — это сравнение угловых координат точек, а для этого нужно вычислять центр.
Про дугу не заметил, да. Но там не сказано, что дуга должна быть
между точками, да и что значит между — ещё надо определять, ТС этого не сделал, и, наверное, пока об этом не думал. Можно попробовать через сонаправленность векторных произведений, если действительно нужно.