|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.11.2011, 12:22 | #1 |
Форумчанин
Регистрация: 03.10.2010
Сообщений: 321
|
Нахождение пересечений двух окружностей
Стоит задача определить точки пересечений двух окружностей .
Нужна именно общая формула Нам известны x10,x20,y10,y20,r1,r2 нужно определить x и y - точки пересечения Прим : предполагается что x и y являются решениями обеих уравнений (x - x10)^2 + (y - y10)^2 =r1^2 (x - x20)^2 + (y - y20)^2 =r2^2 (в системе) вычитаем из одного выражение другое и получаем -2*x*x10 + x10^2 -2*x*x20 + x20^2 - 2*y*y10 + y10^2 - 2*y*y20 + y20^2 +r1^2 - r2^2 = 0 выносим за скобки общие множители -2*x*(x10-x20) - 2*y*(y10 - y20) + x10^2 +x20^2 + y10 ^2 +y20^2 + r1^2-r2^2 =0 введем некоторые обозначения для упрощения задачи Код:
получаем a*x + b*y + c =0 выражаем x через y -a*x = b*y + c x = (b*y + c ) / -a подставляем ,получаем a * ( (b*y + c) / -a ) + b*y + c =0 a * ((b*y +c ) /-a) = -(b*y+c) = -b*y -c -b*y + b*y +c -c =0 b*y = b*y и в итоге получается y - любое . В чем у меня ошибка ? |
02.11.2011, 12:53 | #2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Как-то фигово вычитаете, перепутаны плюсы и минусы.
А уравнение (прямой) ax+by+c=0 имеет решение при любом y, если только a не равно нулю, всё верно. Только вот это следствие исходной системы, а не эквивалентная форма. Для иллюстрации, возьмите систему уравнений без решения, x=3, x=5. Складываем два равенства, получаем x=4 и заявляем, что это решение. |
02.11.2011, 13:44 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
02.11.2011, 15:25 | #4 |
Форумчанин
Регистрация: 03.10.2010
Сообщений: 321
|
спасибо за ссылку, разобрался
в итоге получилась функция Код:
Код:
Последний раз редактировалось Hemul; 02.11.2011 в 15:42. |
02.11.2011, 15:49 | #5 |
Форумчанин
Регистрация: 10.06.2010
Сообщений: 239
|
У вас не учтен вариант, когда одна окружность находится внутри другой, при этом они не пересекаются. У вас условие (d > r1+r2) вернет false, а при извлечении корня выскочит ошибка
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
|
02.11.2011, 16:04 | #6 |
Форумчанин
Регистрация: 03.10.2010
Сообщений: 321
|
в статье об этом не упоминалось . Спасибо , исправлю.
|
02.11.2011, 16:58 | #7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
значит, возможны варианты, когда окружности лежат одна в другой или удалены или соприкасаются (одна точка пересечения=точке соприкосновения) а ещё может быть, что окружности полностью совпадают. тогда точек пересения - БЕСКОНЕЧНО много! а вообще, зря поиском не пользуетесь. на форуме были уже такие темы. вот, загляните сюда: Задача на окружности тут разные варианты описаны. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нахождение среднего арифметического двух длинных чисел | Nortos | Помощь студентам | 2 | 24.12.2010 21:23 |
Нахождение НОД двух чисел | awlol | Помощь студентам | 2 | 28.11.2010 22:52 |
Нахождение экстремума функции от двух переменных | dekameron | Помощь студентам | 3 | 26.05.2010 08:16 |
Нахождение совпадений в двух книгах | Professor Hubert | Microsoft Office Excel | 5 | 25.07.2008 12:59 |
Нахождение двух одинаковых элементов в массиве | Stas))) | Помощь студентам | 4 | 01.06.2007 12:23 |