![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
BOB4uK |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 28.2.2004 Репутация: нет Всего: нет |
Дано две точки! из этих точек строим две окружности с радиусом r1 и r2!
Как узнать точку пересечения двух окружностей? и есть ли вообще точка пересечения? |
|||
|
||||
Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
Решите систему уравнений
(X - Xc1)**2 + (Y - Yc1)**2 = R1**2 { (X - Xc2)**2 + (Y - Yc2)**2 = R2**2 |
|||
|
||||
BOB4uK |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 28.2.2004 Репутация: нет Всего: нет |
ща попробую! Спасибо за оперативность! |
|||
|
||||
BOB4uK |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 28.2.2004 Репутация: нет Всего: нет |
Xc1 и Yc1- это координаты первой окружности? или это X*c1? |
|||
|
||||
BOB4uK |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 28.2.2004 Репутация: нет Всего: нет |
Я зашел в тупик при выражении Y:
y*(y-2*y1)=r1**2-(x-x1)**2-y1**2 Как дальше быть не помню! Подскажите плиз! |
|||
|
||||
maxdiver |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 29.1.2008 Где: Саратов Репутация: нет Всего: 18 |
Аналитически можно, но более наглядный, интересный, и как ни странно точный - т.н. "геометрический" метод.
Точнее говоря, первым шагом при решении этой задачи является перенос центра системы координат в центр одной из окружностей, а затем из одного уравнения окружности вычитается другое. В результате получаем уравнение прямой, и вкупе с уравнением окружности мы, получается, пришли к новой, более простой задаче - пересечение окружности и прямой. Вот её уже сравнительно легко решать и аналитически, но я рекомендую, как уже сказал, геометрический метод. Пересказывать всё не буду, проще дать ссылку на свой сайт, тем более что там и реализация есть ![]() maximal :: algo :: Пересечение двух окружностей maximal :: algo :: Пересечение окружности и прямой |
|||
|
||||
BOB4uK |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 28.2.2004 Репутация: нет Всего: нет |
Спасибо огромное!
Все сделал! осталось только прикрутить свой алгоритм по обработке треугольников... СПАСИБО!!! |
|||
|
||||
BOB4uK |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 28.2.2004 Репутация: нет Всего: нет |
Не совсем понял как быть в случае когда центр окружности не лежит в точке 0;0?
|
|||
|
||||
maxdiver |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 29.1.2008 Где: Саратов Репутация: нет Всего: 18 |
BOB4uK
(x1;y1), (x2;y2) - центры окружностей. Хотим перенести (x1;y1) в центр координат. Просто запоминаем где-нибудь эти (x1;y1) в (ox1;oy1), а потом делаем: x2-=x1, y2-=y1, x1=0, y1=0. Решаем задачу, а потом к точкам результата прибавляем координаты точки (ox1;oy1). |
|||
|
||||
BOB4uK |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 28.2.2004 Репутация: нет Всего: нет |
Понял! спасибо!
Вот только не совсем понятно почему алгоритм не работает при пересечении находящемся во второй и третьей четверти. Например точки -2;0 и 3;0 с радиусами 2 и 4 соответственно |
|||
|
||||
maxdiver |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 29.1.2008 Где: Саратов Репутация: нет Всего: 18 |
BOB4uK
Для меня это тоже загадка, почему у тебя не работает )) вывод:
код:
|
||||
|
|||||
BOB4uK |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 28.2.2004 Репутация: нет Всего: нет |
Сори нашел очепятку у себя!
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |