46

Даны координаты центров и радиусы 2-ух окружностей

geyrioglu 16 августа 2022

Даны координаты центров и радиусы 2-ух окружностей. Найти координаты точек пересечения. Pascal, C, или четкийалгоритм.

категория: информатика

47

var x1, x2, y1, y2, r1, r2, d, b, x3, x4, y3,y4,x,y, h, a: real; begin readln (x1, y1, r1, x2, y2, r2); d: =sqrt (sqr (x1 — x2)+sqr (y1 — y2); if (d > r1+r2) or (d < abs (r1 — r2) then writeln ('No intersection point') else if (x1=x2) and (y1=y2) then if (r1=r2) then writeln ('Infinity') else writeln ('No intersection point') else begin b: =(r2*r2 — r1*r1+d*d)*0,5 / d; a: =d — b; h: =sqrt (abs (r1*r1 — sqr (b); x: =x1+(x2 — x1)*a / d; y: =y1+(y2 — y1)*a / d; X3: =X — (Y — Y2)*H / B; Y3: =Y+(X — X2)*H / B; X4: =X+(Y — Y2)*H / B; Y4: =Y — (X — X2)*H / b; writeln (x3, ', y3); if (x3<>x4) or (y3<>y4) then writeln (x4, ', y4); end; end.

пользователи выбрали этот ответ лучшим
Знаете другой ответ?

Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!
Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!
Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее...