Центр окружности по двум точкам и углу
Дуга окружности задана координатами двух точек и углом между прямой, соединяющей эти точки, и касательной к окружности.
Задача найти координаты цента и углы раскрыва относительно этого центра. Идеи?
alexru ★★★★
04.08.12 23:45:05 MSK
Бамажка + ручка + пять-десять минут времени
И да, тему — в talks, разработка к ней никакого отношения не имеет
Eddy_Em ☆☆☆☆☆
( 04.08.12 23:47:37 MSK )
Последнее исправление: Eddy_Em 04.08.12 23:48:03 MSK (всего исправлений: 1)
Ответ на: комментарий от Eddy_Em 04.08.12 23:47:37 MSK
Может мне думать лень совсем, а решить нужно.
alexru ★★★★
( 04.08.12 23:51:07 MSK ) автор топика
Ответ на: комментарий от alexru 04.08.12 23:51:07 MSK
Eddy_Em ☆☆☆☆☆
( 04.08.12 23:57:13 MSK )

Ищем центр отрезка, проводим из него перпендикуляр. Длина перпендикуляра — половина длины отрезка делить на синус заданного угла. С Вас 100$, можете перечислить их в РосПил. И да, поставленная задача имеет всегда два решения (так можно две окружности провести).
AIv ★★★★★
( 05.08.12 00:09:01 MSK )
Бесплатная подсказка: по координатам концов дуги мы получаем вектор отрезка, стягивающего эту дугу. Опускаем перпендикуляр из центра этого вектора (вспоминаем формулы скалярных и векторных произведений) и находим точку пересечения его с перпендикуляром к касательной, проходящим через один из концов дуги.
Eddy_Em ☆☆☆☆☆
( 05.08.12 00:13:07 MSK )
Ответ на: комментарий от AIv 05.08.12 00:09:01 MSK
Я уже сам решил, во первых. А во вторых, задача найти координаты цента и углы начала и конца дуги относительно этого центра. Так что задача решена не поностью.
alexru ★★★★
( 05.08.12 00:15:00 MSK ) автор топика
Ответ на: комментарий от alexru 05.08.12 00:15:00 MSK

Я уже сам решил, во первых. А во вторых, задача найти координаты цента и углы начала и конца дуги относительно этого центра. Так что задача решена не поностью.
Дуга окружности задана координатами двух точек и углом между прямой
1. Основные понятия
2) мы имеем формулу для расчёта расстояния между двумя точками, если знаем координаты точек AB = x A − x B 2 + y A − y B 2 , а если так, то квадрат расстояния AB 2 = x A − x B 2 + y A − y B 2 .

Допустим, что центр окружности находится в точке C x C ; y C , а радиус окружности равен \(R\).
Любая точка P x ; y на этой окружности находится на расстоянии \(R\) от центра \(C\), значит, справедливо равенство
x − x C 2 + y − y C 2 = R 2 .
Это и есть уравнение окружности с центром \(C\) и радиусом \(R\). Координаты всех точек, которые находятся на окружности, удовлетворяют уравнению.
Если центр окружности находится в начале координат 0 ; 0 , то уравнение имеет вид
x 2 + y 2 = R 2 .
Уравнение прямой
Для выведения уравнения прямой проведём эту прямую как серединный перпендикуляр некоторому отрезку с данными координатами конечных точек отрезка.
Известно, что все точки серединного перпендикуляра находятся на равных расстояниях от концов отрезка.

Координаты концов отрезка A x A ; y A и B x B ; y B . Любая точка P x ; y находится на равных расстояниях от конечных точек PA = PB , конечно, равны и квадраты расстояний PA 2 = PB 2 , значит, справедливо равенство
x − x A 2 + y − y A 2 = x − x B 2 + y − y B 2 , которое и есть уравнение прямой.
После возведения выражений в скобках и приведения подобных слагаемых
x 2 − 2 ⋅ x ⋅ x A + x A 2 + y 2 − 2 ⋅ y ⋅ y A + y A 2 =
= x 2 − 2 ⋅ x ⋅ x B + x B 2 + y 2 − 2 ⋅ y ⋅ y B + y B 2 ;
2 ⋅ x ⋅ x B − 2 ⋅ x ⋅ x A + 2 ⋅ y ⋅ y B − 2 ⋅ y ⋅ y A + x A 2 − x B 2 + y A 2 − y B 2 = 0 ;
Как найти координаты центра по двум точкам
Как можно найти координаты центра окружности которая бы проходила через эти две точки?
Дополнен 5 лет назад
Голосование за лучший ответ
по двум точкам можно найти только одну из двух координат. и то, как функцию другой
ЦарьУченик (177) 5 лет назад
посмотрите пожалуйста по рисунку, вопрос не в том)
viv2537 Оракул (87813) не найти без 3ей точки или радиуса.
нужен радиус
ЦарьУченик (177) 5 лет назад
радиус нужно подобрать, не важно какой
Молли Маллоун Мыслитель (7988) если не важно, то можно принять эти точки как лежащие на противоположных концах диаметра окружности и центр будет в середине соединяющего их отрезка х=(х1+х2)/2 у=(у1+у2)/2
Деточка, вся беда в том, что через две точки на плоскости можно провести только ОДНУ прямую. А вот окружностей можно провести БЕСЧИСЛЕННОЕ МНОЖЕСТВО.
Похожие вопросы
поиск точки на карте по двум координатам и расстояниям до нее

Разобрался как искать расстояние между двумя точкам на карте, но никак не могу понять как решать обратную задачу. Имеются три точки на карте с известными координатами A(0,0) B(0,90) C(90,0) и известны расстояния от них до точки D, вопрос как найти координаты этой точки. Как я понял, достаточно решить сферический треугольник ABD, а расстояние С использовать только для определения полюса. Но с расчетом этого возникли проблемы. UPD привел задачу к решению треугольника ABC, по примеру https://www.math10.com/ru/vysshaya-matematika/sfericheskii-treugolnik/sfericheskii-treugolnik.html
A(0,0) B(0,90) C(. ) AC=8000; AB=10007; BC=4000; a=1.255; b=1.571; c=0.628; cos A= (cos a - cos b * cos c)/ sin b * sin c (0.370-0*0.809)/1*0.587=0.630
не могу найти какому углу соотвествует этот косинус, и как можно получить bearing для вычисления координат? или я что-то сделал не правильно?
Отслеживать
18.4k 5 5 золотых знаков 24 24 серебряных знака 48 48 бронзовых знаков
задан 3 мая 2020 в 11:10
zheka volnov zheka volnov
13 2 2 бронзовых знака
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Вам известны угловые длины сторон (расстояния, делённые на радиус Земли)
Примените сферическую теорему косинусов, чтобы найти внутренний угол при точке A
cos a = cos b ⋅ cos c + sin b ⋅ sin c ⋅ cos A
Отсюда (используя d, а не с, т.к. треугольник ABD)
A = arccos((cos a - cos b ⋅ cos d) / (sin b ⋅ sin d)) для AD=8000; AB=10007; BD=4000; противолежащая вершине А сторона a = BD / 6371 = 0.6278 b = AD / 6371 = 1.255 d = AB / 6371 = 1.571 A = arccos((cos a - cos b ⋅ cos d) / (sin b ⋅ sin d)) = arccos((0.8093 - 0.3106 ⋅ 0) / (0.9505 ⋅ 1)) = arccos(0.851) = 0.552 радиан = 31.68 градусов
Это и есть азимут из точки А (в данном случае сразу азимут, поскольку A и B на экваторе)
Затем используйте расстояние и азимут (A), чтобы определить координаты D, как показано здесь в разделе Destination point given distance and bearing from start point
φ2 = asin( sin φ1 ⋅ cos δ + cos φ1 ⋅ sin δ ⋅ cos θ ) λ2 = λ1 + atan2( sin θ ⋅ sin δ ⋅ cos φ1, cos δ − sin φ1 ⋅ sin φ2 ) where φ is latitude, λ is longitude, θ is the bearing (clockwise from north), δ is the angular distance d/R; d being the distance travelled, R the earth’s radius Lat = arcsin(sin φ1 ⋅ cos δ + cos φ1 ⋅ sin δ ⋅ cos θ) = arcsin(0 * cos b + 1 * sin b * sin(0.552)) = arcsin(0.9505 * 0.524) = arcsin(0.4984) = 29.9 градусов (СШ или ЮШ) и далее для Lon
Выбор полушария для D — да, как уже и сказали, по расстоянию от полюса