2012-01-04 5 views
2

Я хочу найти точку пересечения двух cricles в C++. У меня есть центр и радиус двух кругов. Может кто-нибудь мне помочь ??Точки пересечения двух окружностей в C++

+0

Начать с: http://math.stackexchange.com/questions/39561/finding-the-intersecting-points-on-two-circles –

+1

Вы знаете, как вычислить точки пересечения? Если нет, то это вопрос математики, а не вопрос программирования. –

+0

@UlfLindback: Вопрос о том, как можно найти математические перехваты, не обязательно совпадает с тем, как нужно делать это в коде. Это не редкость для математически - «более простой» формулы, рассчитанной с использованием двойной точности, чтобы дать результаты, уступающие тому, что более сложная формула могла бы дать даже с использованием точности float. Поиск Google по этому вопросу приводит к появлению многих математических описаний, но я не видел примеров кода, которые рассматривали проблему точности, поэтому я не знаю, были ли какие-либо результаты, которые я видел, были очень хорошими. – supercat

ответ

1

См. this link (перейдите к разделу «Пересечение двух кругов») для решения проблемы. Даже имеет код примера C и Objective-C.

1

Если у вас есть центр кругов, и это радиус вы можете установить уравнение как

(x-x1)²+(y-y1)²=r1² 

вы можете сделать это для обоих кругов

I x²-2xx1+x1²+y²-yy1+y1²=r1² 
II x²-2xx2+x2²+y²-yy2+y2²=r2² 

, то вы можете вставить II в I и там вы идете :)

Смежные вопросы