Есть несколько линий в формате Hesse normal form, то есть для каждой линии известно rho и theta - угол и расстояние от центра координат.

Требуется для каждой из этих линий построить перпендикуляр до другой точки (x, y) и найти угол этого перпендикуляра к оси x этой самой точки. См. рисунок, так понятнее: https://i.imgur.com/PUsWQQK.png

Как это сделать?

задан 30 Июл 14:46

Разве угол не равен либо $%\theta$%, либо $%\theta+\pi$%?

(30 Июл 14:55) haosfortum

@haosfortum, ой, точно. Тогда как определить по $%\rho$% и $%\theta$%, лежит ли линия над точкой (x, y) или под ней, чтобы знать, когда нужно прибавлять $%\pi$%?

(30 Июл 15:07) gikoc45588

@gikoc45588: зная координаты основания перпендикуляра, легко составить уравнение прямой. Если в него подставить числа x,y, то по знаку выражения узнаём, где находится точка.

По идее, этого можно не делать: проектирование на прямую линейно, и достаточно знать, куда перейдут (1,0) и (0,1) при проектировании.

(31 Июл 13:07) falcao
10|600 символов нужно символов осталось
0

Пусть $%l=\sqrt{x^2+y^2}$%-длина вектора $%(x,y)$%. Обозначим за $%\phi=\arccos\frac{x}{l}$% угол, образованный лучом $%Ox$% и вектором $%(x,y)$%. Положим, что $%\theta,\phi \in (-\pi,\pi)$%, а $%\rho>0$%. Обозначим за $%R$% точку пересечения "порождающей" прямой (на которой откладывается расстояние $%\rho$%) и нашей заданной линии, а за $%M$% - точку $%(x,y)$%.

Рассмотрим два случая, в первом $%\cos(\theta-\phi)<0$% ($%\angle ROM > \pi/2$% ). В таком случае искомый угол будет всегда равен $%\theta$% вне зависимости от значения $%\rho$% (это можно легко увидеть на чертеже).

Во втором случае ($%\cos(\theta-\phi)>0$%) предположим, что значение $%\rho=\rho_0$% таково, что $%RMO$% - прямоугольный треугольник ($%\rho_0=l\cos(\theta-\phi)$%). По чертежу видно, что если $%\rho>\rho_0$%, то искомый угол будет равен $%\theta$%, а если $%\rho<\rho_0$%, то $%\theta+\pi$%.

Обобщая оба случая можем получить общую функцию для вычисления ответа:

$$ \alpha =\begin{cases}\theta, & \rho > \sqrt{x^2+y^2}\cos(\theta-\arccos\frac{x}{\sqrt{x^2+y^2}})\\{\theta+\pi}, & \rho < \sqrt{x^2+y^2}\cos(\theta-\arccos\frac{x}{\sqrt{x^2+y^2}})\end{cases} $$

Можно еще поиграться с выражением (использовать формулу косинуса разности), но мне не показалось, что это будет удобно.

ссылка

отвечен 31 Июл 14:47

изменен 31 Июл 14:47

А разве в отдельных случаях не нужно вычитать Pi?

(1 Авг 19:59) gikoc45588

@gikoc45588, $%\theta+\pi$% и $%\theta-\pi$% это один и тот же угол.

(1 Авг 22:37) haosfortum
10|600 символов нужно символов осталось
Ваш ответ

Если вы не нашли ответ, задайте вопрос.

Здравствуйте

Математика - это совместно редактируемый форум вопросов и ответов для начинающих и опытных математиков, с особенным акцентом на компьютерные науки.

Присоединяйтесь!

отмечен:

×2,911

задан
30 Июл 14:46

показан
87 раз

обновлен
1 Авг 22:38

Отслеживать вопрос

по почте:

Зарегистрировавшись, вы сможете подписаться на любые обновления

по RSS:

Ответы

Ответы и Комментарии

Дизайн сайта/логотип © «Сеть Знаний». Контент распространяется под лицензией cc by-sa 3.0 с обязательным указанием авторства.
Рейтинг@Mail.ru