Здравствуйте, LuciferSaratov, Вы писали:
I>>Дуга задана тремя точками в трёхмерном пространстве, помогите определить лежит ли заданная точка на этой дуге.
LS>1) строим плоскость, проходящую через эти точки LS>2) если заданная точка плоскости не принадлежит, то ответ отрицательный LS>3) вводим какую-нибудь декартову систему координат на плоскости, переводим координаты всех точек в нее, таким образом сводя задачу к двумерной LS>4) строим уравнение окружности, проходящей через три точки LS>5) если заданная точка окружности не принадлежит, то ответ отрицательный LS>6) вводим полярную систему координат с центром, совпадающим с центром окружности, переводим координаты крайних точек дуги и заданной точки в нее LS>7) если угловая координата заданной точки попадает в отрезок, заданный угловыми координатами крайних точек дуги, то ответ положительный, иначе отрицательный
Начиная с пункта 3 сложновато, не проще ли: строим центр окружности как точку пересечения этой плоскости с срединными перпендикулярами к двум парам исходных точек, сравниваем расстояние до этого центра от проверяемой точки и от одной из искомых. Если равны — то точка лежит и на сфере и на плоскости, то есть на нужной окружности, если не равны — не лежит.
Можно в символьном виде записать проверяемое равенство, там что-нибудь может сократиться, вычисления упростятся (можно будет явно координаты центра не искать).