Имеем: две параллельные прямые и окружность, центр которой находится между этими прямыми. Прямые пересекают окружность в четырёх точках, её радиус произвольный. Необходимо найти начальный и конечный углы дуг, расположенных между прямыми. Решаема ли подобная задача? А то уже совсем не секу...
Надеюсь, понятно объяснил
Здравствуйте, Artem N, Вы писали:
AN>Имеем: две параллельные прямые и окружность, центр которой находится между этими прямыми. Прямые пересекают окружность в четырёх точках, её радиус произвольный. Необходимо найти начальный и конечный углы дуг, расположенных между прямыми. Решаема ли подобная задача?
Конечно, решаема.
Нужно только корректно поставить условия — какие параметры известны, как описаны прямые.
Здравствуйте, MBo, Вы писали:
MBo>Конечно, решаема. MBo>Нужно только корректно поставить условия — какие параметры известны, как описаны прямые.
Известно: любая точка на прямых, координаты центра окружности и её радиус.
Вообще, всего у меня есть три точки в координатной системе OXY: первые две описывают прямые (они параллельны оси OY, третья задаёт радиус окружности, расположенный в центре перпендикуляра между прямыми. Перпендикуляр параллелен оси OX.
Здравствуйте, Artem N, Вы писали:
AN>Известно: любая точка на прямых, координаты центра окружности и её радиус. AN>Вообще, всего у меня есть три точки в координатной системе OXY: первые две описывают прямые (они параллельны оси OY, третья задаёт радиус окружности, расположенный в центре перпендикуляра между прямыми. Перпендикуляр параллелен оси OX.
Итак смотрим рисунок.
Для упрощения принимаем, что центр окружности лежит на Ox (что, в общем-то непринципиально, поскольку в условиях задачи для упрощения решения можно использовать параллельный перенос окружности). Нам известны x1, x2 и r. Начинаем решать...
Прежде всего найдем координаты центра окружности : , т.к. он лежит посередине между заданными прямыми.
Окружность в наших условиях имеет уравнение: , откуда для любой точки окружности имеем: . На основе этого уравнения получаем координаты точек A, B, C, D:
.
Таким образом ты получаешь координаты всех вершин прямоугольных треугольников, образованных радиусами окружности, осью Ox и отрезками заданных прямых. На основе этих данных ты можешь вычислить тригонометрические функции требуемых тебе углов (или дополнительных к ним) и рассчитать их, воспользовавшись обратными тригонометрическими функциями.
Если вещь не годна для одной цели, ее можно употребить для другой. // Лао цзы
Здравствуйте, Artem N, Вы писали:
AN>Вообще, всего у меня есть три точки в координатной системе OXY: первые две описывают прямые (они параллельны оси OY, третья задаёт радиус окружности, расположенный в центре перпендикуляра между прямыми. Перпендикуляр параллелен оси OX.
Пусть прямые заданы координатами X1 и X2
Дуга 0 вверху, угол начала ее Fi00, конца Fi01, аналогично для нижней дуги 1
Согласно школьному определению тригон. функций
cos(Fi00)=(X2-X1)/(2*R)
Fi00 = ArcCos((X2-X1)/(2*R))
Fi01 = Pi — Fi00
Fi10 = Pi + Fi00
Fi11 = — Fi00
Здравствуйте, MBo, Вы писали:
MBo>Пусть прямые заданы координатами X1 и X2 MBo>Дуга 0 вверху, угол начала ее Fi00, конца Fi01, аналогично для нижней дуги 1 MBo>Согласно школьному определению тригон. функций
Честно пытался посмотреть учебник по геометрии. Запутался только ещё больше
MBo>cos(Fi00)=(X2-X1)/(2*R) MBo>Fi00 = ArcCos((X2-X1)/(2*R)) MBo>Fi01 = Pi — Fi00 MBo>Fi10 = Pi + Fi00 MBo>Fi11 = — Fi00
Всё работает. Единственное, что под свои нужды Fi01 выразил как Pi — 2*Fi00, а дугу 1 сделал поворотом на 180 градусов.
Здравствуйте, SeLarin, Вы писали:
SL>Таким образом ты получаешь координаты всех вершин прямоугольных треугольников, образованных радиусами окружности, осью Ox и отрезками заданных прямых. На основе этих данных ты можешь вычислить тригонометрические функции требуемых тебе углов (или дополнительных к ним) и рассчитать их, воспользовавшись обратными тригонометрическими функциями.
Вот в этом месте у меня затык и произошёл... Всё думал чему равен угол x3AB. За рисунки спасибо, я что-то подобное на бумаге рисовал
Здравствуйте, Artem N, Вы писали:
AN> Честно пытался посмотреть учебник по геометрии. Запутался только ещё больше
Косинус угла прямоугольного треугольника есть отношение прилежащего катета (в данном случае половина расстояния между прямыми) к гипотенузе (здесь радиус окружности)
Здравствуйте, MBo, Вы писали:
AN>> Честно пытался посмотреть учебник по геометрии. Запутался только ещё больше MBo>Косинус угла прямоугольного треугольника есть отношение прилежащего катета (в данном случае половина расстояния между прямыми) к гипотенузе (здесь радиус окружности)
Да, а синус -- противолежащий катет. Это я ещё помню