Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как найти координаты пересечения окружностей?

Roman stagnez Ученик (149), закрыт 9 лет назад
Добрый день!
Данные: (x,y)=0,0, (i,j)=10,0. То есть центры окружностей лежат на одной оси и на фиксированном известном расстоянии h. Радиусы r1 и r2 - это массив значений которые в разный момент времени будут меняться.
Окружности всегда пересекаются.
Вопрос: как найти точку пересечения в момент времени, например при r1=4, r2=7? Интересует только одна точка выше OX.
Спасибо за внимание!
Дополнен 9 лет назад
Всем спасибо, нашел решение:
function SearchPoint()
{
var a:Number = 0;
var b:Number = 0;
var c:Number = 10;
var d:Number = 0;
var r:Number = 4;
var s:Number = 7;
var e:Number = c-a;
var f:Number = d-b;

var p:Number = Math.sqrt(Math.pow(e,2) + Math.pow(f,2));
var k:Number = (Math.pow(p, 2) + Math.pow(r, 2) - Math.pow(s, 2)) / (2 * p);

var x:Number = a + e * k / p + (f / p) * Math.sqrt(Math.pow(r, 2) - Math.pow(k, 2));
var y:Number = b + f * k / p - (e / p) * Math.sqrt(Math.pow(r, 2) - Math.pow(k, 2));
Лучший ответ
Семен Аркадьевич Высший разум (340009) 9 лет назад
Либо чисто геометрически )) У вас образуется треугольник: боковые стороны равны 4 и 7, основание 10.

Вам осталось посчитать высоту этого треугольника - ордината точки. И прооекцию r1 на основание - абсцисса искомой точки. Либо построить этот треугольник с необходимой степенью точности. Ниже чертеж с точностью до двух десятичных знаков после запятой.
Roman stagnezУченик (149) 9 лет назад
Спасибо!
Остальные ответы
Иван Дурак Гуру (3464) 9 лет назад
рисуешь систему и решаешь в общем виде на бумажке. Полученную формулу вбиваешь в свою прогу
Roman stagnezУченик (149) 9 лет назад
Я так и думал, но геометрия давно уже забылась )) думал может есть одна формула для решения а не система уравнений для поиска двух точек. Чтобы сразу находить а не отсейвать минусовые значения.
Иван Дурак Гуру (3464) из системы ты и получаешь формулу. Отсеиваешь на этапе написания формулы (там явно два значения с + и -)
Похожие вопросы