Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Точки пересечения окружностей (http://www.flasher.ru/forum/showthread.php?t=185123)

CrazyPHP 05.10.2012 16:29

Точки пересечения окружностей
 
Вложений: 1
Товарищи, подскажите как найти точки пересечения двух окружностей? Уже перепробовал всё что только могло в голову прийти, всякими линиями по каждому градусу и прочей ерундой. Ведь должен быть какой-то математический способ, 100% точный?

Koopa 05.10.2012 16:34

"прокрутить" каждый радиус по окружности и узнать совпадение координат.

-De- 05.10.2012 16:34

А загуглить тему в голову не приходило?

expl 05.10.2012 16:37

Самое тупое, что приходит в голову - это решить систему из 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) - центр второй окружности

CrazyPHP 05.10.2012 16:42

Цитата:

Сообщение от -De- (Сообщение 1098606)
А загуглить тему в голову не приходило?

Гуглил, гуглил, не нашел.

Цитата:

"прокрутить" каждый радиус по окружности и узнать совпадение координат.
Чего с чем? линии радиуса с окружностью? и как?

Цитата:

R1^2 = (x01 - x1)^2 + (y01 - y1)^2
R2^2 = (x02 - x2)^2 + (y02 - y2)^2
x1 = x2
y1 = y2
что это всё значит?? :o

expl 05.10.2012 16:52

я там поправил
Цитата:

R1^2 = (x01 - x)^2 + (y01 - y)^2
R2^2 = (x02 - x)^2 + (y02 - y)^2

Ищем в этой системе x, y
(x01, y01) - центр первой окружности
(x02, y02) - центр второй окружности
R1 - радиус одной окружности
R2 - другой
И вот надо решить эту систему - получится 2 решения - 2 точки пересечения (x, y)

-De- 05.10.2012 16:56

А у меня 1-я ссылка в гугле.
http://algolist.manual.ru/maths/geom...lecircle2d.php
внизу формула с +-. Все переменные чуть выше написано как считаются, тупо взять и подставить.

Koopa 05.10.2012 16:57

Вычисляем расстояние между центрами окружностей, если больше суммы радиусов(по длине)-пересечения нет.
Сравниваем х и у центров окружностей(определяем расположение одной относительно другой и соответственно дугу пересечения)
Дальше ищем пересечение,совпадение конечных точек радиусов.

expl 05.10.2012 17:05

Цитата:

Сообщение от Koopa (Сообщение 1098614)
Дальше ищем пересечение,совпадение конечных точек радиусов.

http://img1.liveinternet.ru/images/a...7_1272532_.jpg

Как-бы, хочется детальее

CrazyPHP 05.10.2012 17:08

Я нашёл вот такое http://mathforum.org/library/drmath/view/51836.html , написал эти вычисления, нашло точку пересечения! Но только одну, как найти вторую?


Часовой пояс GMT +4, время: 23:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.