![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2008
Сообщений: 27
|
Товарищи, подскажите как найти точки пересечения двух окружностей? Уже перепробовал всё что только могло в голову прийти, всякими линиями по каждому градусу и прочей ерундой. Ведь должен быть какой-то математический способ, 100% точный?
|
|
|||||
|
Banned
[+1 30.08.14]
[+1 26.02.14] Регистрация: Apr 2012
Сообщений: 162
|
"прокрутить" каждый радиус по окружности и узнать совпадение координат.
|
|
|||||
|
Самое тупое, что приходит в голову - это решить систему из 2-х квадратных уравнений
(вроде-бы для уравнений до 4-й степени есть аналитическое решение в любом случае - так что если повезёт и удастся свести к уравению 2-й - 3-й степени - то всё будет хорошо )R1^2 = (x01 - x)^2 + (y01 - y)^2 R2^2 = (x02 - x)^2 + (y02 - y)^2 Ищем в этой системе x, y (x01, y01) - центр первой окружности (x02, y02) - центр второй окружности |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 27
|
Гуглил, гуглил, не нашел.
Цитата:
Цитата:
![]() |
|
|||||
|
я там поправил
Цитата:
R2 - другой И вот надо решить эту систему - получится 2 решения - 2 точки пересечения (x, y) |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
А у меня 1-я ссылка в гугле.
http://algolist.manual.ru/maths/geom...lecircle2d.php внизу формула с +-. Все переменные чуть выше написано как считаются, тупо взять и подставить.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Banned
[+1 30.08.14]
[+1 26.02.14] Регистрация: Apr 2012
Сообщений: 162
|
Вычисляем расстояние между центрами окружностей, если больше суммы радиусов(по длине)-пересечения нет.
Сравниваем х и у центров окружностей(определяем расположение одной относительно другой и соответственно дугу пересечения) Дальше ищем пересечение,совпадение конечных точек радиусов. Последний раз редактировалось Koopa; 05.10.2012 в 17:17. |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 27
|
Я нашёл вот такое http://mathforum.org/library/drmath/view/51836.html , написал эти вычисления, нашло точку пересечения! Но только одну, как найти вторую?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 00:34. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|