| Математический форум Math Help Planet http://mathhelpplanet.com/ |
|
| Координаты точки основания перпендикуляра http://mathhelpplanet.com/viewtopic.php?f=33&t=28464 |
Страница 1 из 1 |
| Автор: | Sophos [ 02 дек 2013, 23:16 ] |
| Заголовок сообщения: | Координаты точки основания перпендикуляра |
Добрый день! В процессе написания одной программы потребовалась функция вычисления значения градиента относительно определенной точки. В ней я использую функцию вычисления основания перпендикуляра к прямой. Формулу я взял из википедии ![]() ![]() В статье упоминаются случаи, когда следует избегать деления на ноль. Их я учел. В большинстве случаев функция работает и рисует градиентный спуск. Однако я нашел точки, в которых данная формула из википедии не работает. Например: Xa = 50. Ya = 499. Xb = 450. Yb = 500. Xp = 318. Yp = 0. Подставляю в формулу для Xo и получаю ~316, что соответствует графическому решению в графическом редакторе. А теперь я подставляю это в формулу для Yo: ((Xb - Xa) * (Xp - Xo)) / (Yb - Ya) + Yp = ((450 - 50) * (318 - 316)) / (500 - 499) + 0 = 800 Это ну вообще никак не соответствует ни логике ни графическому решению. Должно быть число в районе 499-500. Где ошибка в моих рассуждениях и можно ли как-то это исправить? Спасибо. P.S. У меня имеются A,B,C коэффициенты прямой AB и координаты двух точек, лежащих на ней. Если данная формула не применима для таких случаев, то может есть другая? |
|
| Автор: | Alexdemath [ 05 дек 2013, 18:39 ] |
| Заголовок сообщения: | Re: Координаты точки основания перпендикуляра |
То странные какие-то формулы. Нужно решить систему [math]\left\{\!\begin{aligned}& A\cdot x+B\cdot y+C=0, \\ & B\cdot x-A\cdot y+A\cdot y_0-B\cdot x_0=0; \end{aligned}\right. \quad \Rightarrow \quad \left\{\!\begin{aligned}& x = \frac{B^2\cdot x_0-A\cdot B\cdot y_0-A\cdot C}{A^2+B^2}, \\& y = \frac{A^2\cdot y_0-A\cdot B\cdot x_0-B\cdot C}{A^2+B^2}. \end{aligned}\right.[/math] где 2-е уравнение - это уравнение прямой, проходящей через точку [math](x_0,y_0)[/math], перпендикулярно к 1-му уравнению прямой; [math](x,y)[/math] - это проекция точки [math](x_0,y_0)[/math] на 1-ю прямую. |
|
| Автор: | Sophos [ 05 дек 2013, 19:17 ] |
| Заголовок сообщения: | Re: Координаты точки основания перпендикуляра |
Большое Вам спасибо! Так действительно работает! |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|