Чую, что уже есть готовые решения, формулы и ссылки.
А задача такая.
Есть несколько окружностей, координаты центров известны, также известны радиусы. Надо найти координаты точки (или ближайшую) к середине их пересечений.
Область пересечения.
Реклама запрещена. См. Профиль :-)
-
- Сообщения: 492
- Зарегистрирован: 17 фев 2004, 11:26
- Откуда: Ленинград (который Город на Неве)
- Контактная информация:
Переформулируйте. "Середина пересечений" - понятие неясное...
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)
viel spass, DeeJayC
viel spass, DeeJayC
:-)
Дело в том, что окружности могут не пересекаться в 1 точке. Они вообще могут не пересекаться. В этом случае точка - посередине.
Если окружности не пересекаются в 1 точке, то существует некая область вероятного расположения данного пересечения. Вот там точку и надо найти :-)
Дело в том, что окружности могут не пересекаться в 1 точке. Они вообще могут не пересекаться. В этом случае точка - посередине.
Если окружности не пересекаются в 1 точке, то существует некая область вероятного расположения данного пересечения. Вот там точку и надо найти :-)
-
- Сообщения: 492
- Зарегистрирован: 17 фев 2004, 11:26
- Откуда: Ленинград (который Город на Неве)
- Контактная информация:
По какой середине, середине чего... Пожалуйста, ставьте задачу корректно. Я серьёзно, надо правила вводить?
Варианта два
1. Найти точку в области, полученной из точек пересечения окружностей (если окружности пересекаются), которая находится в геометрическом центре.
2. Точка, равноудалённая от центров.
Варианта два
1. Найти точку в области, полученной из точек пересечения окружностей (если окружности пересекаются), которая находится в геометрическом центре.
2. Точка, равноудалённая от центров.
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)
viel spass, DeeJayC
viel spass, DeeJayC
А если какие-то окружности пересекаются, а какие-то нет - тогда где точку искать???
Блин, надо рисовать :-)
В общем задача - позиционирование на местности :-)
Нарисую - напишу :-)
В общем задача - позиционирование на местности :-)
Нарисую - напишу :-)
Известны координаты A B C и рабиусы соответствующих окружностей.
Как я думаю, надо найти точки D E F - это середина соответствующего отрезка (в данном случае все равно, пересекаются эти окружности или нет. середина все равно находится).
Искомая точка - О - середина треугольника D E F.
ЗЫ. Но окружностей может быть не 3, а и 4, 5, 6.
Находим координаты точки E. Имеем Ar, Ax, Ay, Br, Bx, By - соответственно радиус и координаты центров окружностей A и B.
Определяем длину отрезка AB.
L(AB) = SQRT((Bx-Ax)*(Bx-Ax)+(By-Ay)*(By-Ay));
Определяем длину отрезка AE.
L(AE) = (L(AB)+Ar-Br) / 2;
Определяем угол наклона прямой AE (она же AB).
K(AE) = (By-Ay) / (Bx-Ax);
Определяем смещение по оси X (dx = Ex-Ax).
dx = SQRT(L(AE)*L(AE) / (K(AE)*K(AE)+1));
Определяем смещение по оси Y (dy = Ey-Ay).
dy = K(AE) * dx;
Ex = Ax + dx; Ey = Ay + dy;
Определяем длину отрезка AB.
L(AB) = SQRT((Bx-Ax)*(Bx-Ax)+(By-Ay)*(By-Ay));
Определяем длину отрезка AE.
L(AE) = (L(AB)+Ar-Br) / 2;
Определяем угол наклона прямой AE (она же AB).
K(AE) = (By-Ay) / (Bx-Ax);
Определяем смещение по оси X (dx = Ex-Ax).
dx = SQRT(L(AE)*L(AE) / (K(AE)*K(AE)+1));
Определяем смещение по оси Y (dy = Ey-Ay).
dy = K(AE) * dx;
Ex = Ax + dx; Ey = Ay + dy;
Уж не определение ли это координат телефона по мощности на отделных сотах ?