Задать вопрос
@symnoob

Как вычислить центр дуги окружности?

Всем привет, как определить центр(середину) дуги окружности, имея радиус и x;y координаты старта и конца?
и можно ли как нибудь вычислить угол?
  • Вопрос задан
  • 1091 просмотр
Подписаться 1 Простой 6 комментариев
Пригласить эксперта
Ответы на вопрос 5
mayton2019
@mayton2019
Bigdata Engineer
Задачу можно решать многими способами. Например. Рассмотрим векторы образованные центром O(ox,oy) и точками A(ax,ay), B(bx,by). Их сумма по правилу паралеллограмма даст нам направление для биссеткрисы угла
которая образована AOB. Уравнение биссектрисы будет известно.

Решаем пересечение этой прямой с окружностью и получаем искомый центр дуги.

Что в этой задаче плохо. В этой задаче - "ленивый" автор который не удосужился придумать названия для точек и заставил всех придумывать свои нелепые названия или писать словами.

Что еще плохо. В этой задаче на самом деле не одна а две дуги. Но мы каким-то образом должны догадаться что речь идет о малой дуге. Об этом - тоже надо сообщать. Это раздражает.

На будущее - оформляй задачи как в задачнике.
Ответ написан
@Pentiumg2120
(x - a) ** 2 + (y - b) ** 2 = R ** 2
a, b координаты середины
Ответ написан
vfreelancer
@vfreelancer
php
вычислить можно. но сложная формула. наброски: находим уравнение окружности (как система двух уравнений, радиус знаем). далее соединяем красные точки - хорда, середина хорды - среднее арифметическое координат. далее проводим диаметр перпендикулярно хорде. уравнение этой прямой находим по точке и коэффициенту k. находим точку пересечения этой прямой и окружности.
угол вычислить проще. длина хорды и два радиуса - это равнобедренный треугольник. теорема косинусов
Ответ написан
wataru
@wataru Куратор тега Математика
Разработчик на С++, экс-олимпиадник.
Знаете 2 точки дуги - знаете длину хорды. Дальше надо на листке нарисовать окружность, хорду и серидинный перпендикуляр. Нарисовать несколько прямоугольных треугольников и найти длину куска от центра хорды до искомой середины. Пусть центр O, исходные точки A,B а искомая точка - M. Середина хорды С. OM = R. OС^2+CB^2=R^2, CM = OM-OC.

Итого - длина искомого куска CM = R - sqrt(R^2-|AB|^2/4)

Для нахождения координат M надо взять середину отрезка AB и отложить от нее перпендикулярный AB вектор длины по формуле выше.
Ответ написан
Комментировать
hint000
@hint000
у админа три руки
A - начало дуги, B - конец дуги, C - искомый центр.
длина AC = длина BC = R (известно);
длину AB вычисляем по теореме Пифагора;
таким образом, имеем длины всех сторон треугольника ABC;
по теореме синусов (и по сумме углов) вычисляем все углы треугольника;
зная угол A, как угол пересечения прямых AB и AC, зная координаты точки A, а также зная уравнение прямой AB, легко построить уравнение прямой AC; остаётся отмерить вектор длиной R вдоль этой прямой, чтобы получить координаты точки C.

Ещё один вариант - после вычисления всех углов перейти в полярную систему координат с центром A, сложить (с учётом знаков) угол A с коэффициентом наклона прямой AB и сразу получить полярные координаты точки C (ведь R известен); затем обратно перейти в декартову систему координат.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы