2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Вычисление расстояния от точки до стороны в барицент. коорд.
Сообщение12.10.2017, 20:07 
Аватара пользователя


15/11/15
1297
Москва
Картина
Пусть дан треугольник $ABC$ и точка $P(p_1,p_2,p_3)$ внутри него. Нужно вычислить расстояние от $P$ до $AB$, то есть $PC_1$. Для этого вычислим координаты точки $C_1$. Ясно, что третья ее координата равна $0$. Найдем все остальные. Поскольку все барицентрические координаты нормированы, то $$q_1+q_2=0$$ Распишем координаты "нужных" векторов:$$\overrightarrow {AB}(-1,1,0)$$ $$\overrightarrow {PC_1}(q_1-p_1,q_2-p_2,-p_3)$$ Далее запишем критерий коллинеарности векторов: $$\[ - {a^2}{p_3} + {b^2}{p_3} + {c^2}({q_1} - {q_1} + {p_2} - {p_1}) = 0\]$$ Получим $$\[{q_1} = \frac{1}{2} \cdot \frac{{{a^2}{p_3} - {b^2}{p_3} + {c^2}{p_1} - {c^2}{p_2}}}{{{c^2}}}\]$$
$$\[{q_2} =- \frac{1}{2} \cdot \frac{{{a^2}{p_3} - {b^2}{p_3} + {c^2}{p_1} - {c^2}{p_2}}}{{{c^2}}}\]$$ Далее, если $x=q_1-p_1$,$y=q_2-p_2$,$z=-p_3$, то $PC_1=\[\sqrt { - {a^2}yz - {b^2}xz - {c^2}xy} \]$, значит
$$PC_1=\[\frac{1}{2}\sqrt { - \frac{{\left( {({p_1} + {p_2}){c^2} + {p_3}{{(a - b)}^2}} \right)\left( {({p_1} + {p_2}){c^2} + {p_3}{{(a + b)}^2}} \right)}}{{{c^2}}}} \]$$
Здесь с формулой возникают проблемы, потому что если подставить $p_1=p_2=0$ и $p_3=1$, то $P=C$, и мы должны получить длину высоты на сторону $AB$. Но мы получаем следующее:
$$\[\frac{1}{2}\sqrt { - \frac{{{{(a - b)}^2}{{(a + b)}^2}}}{{{c^2}}}} \]$$
Выражение получается комплексным, поэтому где-то должна быть ошибка, хотя это странно, так как я решал задачу с помощью Maple. Вот код:
Код:
solve({q[1]+q[2] = 0, -a^2*p[3]+b^2*p[3]+c^2*(q[1]-q[2]+p[2]-p[1]) = 0}, {q[1], q[2]});

Код:
x := (1/2)*(a^2*p[3]-b^2*p[3]+c^2*p[1]-c^2*p[2])/c^2-p[1]; y := -(1/2)*(a^2*p[3]-b^2*p[3]+c^2*p[1]-c^2*p[2])/c^2-p[2]; z := -p[3]; l[c] := simplify(sqrt(-a^2*y*z-b^2*x*z-c^2*x*y))

 Профиль  
                  
 
 Re: Вычисление расстояния от точки до стороны в барицент. коорд.
Сообщение12.10.2017, 20:19 
Заслуженный участник


26/05/14
981
$q_1 + q_2 = 0$ ???

-- 12.10.2017, 20:22 --

Добавлю что можно использовать линейность барицентрических координат и избежать многих сложностей.

 Профиль  
                  
 
 Re: Вычисление расстояния от точки до стороны в барицент. коорд.
Сообщение12.10.2017, 20:24 
Заслуженный участник


20/08/14
11183
Россия, Москва
Rusit8800 в сообщении #1255181 писал(а):
Поскольку все барицентрические координаты нормированы, то $$q_1+q_2=0$$
Вот это непонятно, ведь и $q_1$ и $q_2$ положительны (и в интервале $(0;1)$), а сумма почему-то равна нулю? Может тут $=1$ должно быть?

 Профиль  
                  
 
 Re: Вычисление расстояния от точки до стороны в барицент. коорд.
Сообщение12.10.2017, 20:25 
Заслуженный участник


26/05/14
981
Rusit8800, коллинеарность каких векторов вы использовали?

 Профиль  
                  
 
 Re: Вычисление расстояния от точки до стороны в барицент. коорд.
Сообщение12.10.2017, 20:37 
Аватара пользователя


15/11/15
1297
Москва
slavav в сообщении #1255186 писал(а):
$q_1 + q_2 = 0$ ???

Ой. Равно $1$
slavav в сообщении #1255188 писал(а):
коллинеарность каких векторов вы использовали?

Ой. Перпендикулярность. Но записано уравнение перпендикулярности.

-- 12.10.2017, 20:42 --

Правильный ответ такой:$$ \[\frac{1}{2}\sqrt { - \frac{{\left( {\left( {{p_1} + {p_2} - 1} \right){c^2} + {p_3}{{\left( {a - b} \right)}^2}} \right)\left( {\left( {{p_1} + {p_2} - 1} \right){c^2} + {p_3}{{\left( {a + b} \right)}^2}} \right)}}{{{c^2}}}} \]$$

-- 12.10.2017, 20:43 --

Если подставить координаты $C$, то получится
$$\[\frac{1}{2}\sqrt { - \frac{{\left( { - b + a - c} \right)\left( { - b + a + c} \right)\left( {b + a + c} \right)\left( {b + a - c} \right)}}{{{c^2}}}} \]$$
а это длина высоты.

 Профиль  
                  
 
 Re: Вычисление расстояния от точки до стороны в барицент. коорд.
Сообщение12.10.2017, 21:01 
Заслуженный участник


26/05/14
981
Ваш ответ упрощается. Можно убрать упоминания $p_1$ и $p_2$. И это будет хорошо, указанное расстояние зависит только от $p_3$. А ещё выявится некая линейность.

 Профиль  
                  
 
 Re: Вычисление расстояния от точки до стороны в барицент. коорд.
Сообщение12.10.2017, 21:11 
Аватара пользователя


15/11/15
1297
Москва
slavav в сообщении #1255195 писал(а):
Ваш ответ упрощается. Можно убрать упоминания $p_1$ и $p_2$. И это будет хорошо, указанное расстояние зависит только от $p_3$. А ещё выявится некая линейность.

Неужели эта штука будет зависеть только от $p_3$? Это вроде видно, а поверить я в это не могу.

 Профиль  
                  
 
 Re: Вычисление расстояния от точки до стороны в барицент. коорд.
Сообщение12.10.2017, 21:17 
Заслуженный участник


26/05/14
981
А вы подставьте. Да вынесите $p_3$ из под корня. Это красиво.

-- 12.10.2017, 21:22 --

Хотя из вашего вывода этого не следует, формула, которую вы получите, будет работать по всей плоскости, задавая расстояние до прямой со знаком.

 Профиль  
                  
 
 Re: Вычисление расстояния от точки до стороны в барицент. коорд.
Сообщение12.10.2017, 21:56 
Аватара пользователя


15/11/15
1297
Москва
slavav в сообщении #1255199 писал(а):
Хотя из вашего вывода этого не следует, формула, которую вы получите, будет работать по всей плоскости, задавая расстояние до прямой со знаком.

Мне только внутри треугольника надо.

-- 12.10.2017, 21:59 --

$${l_c} = \frac{{{p_3}}}{2}\sqrt { - \frac{{\left( {{c^2} + {{\left( {a - b} \right)}^2}} \right)\left( {{c^2} + {{\left( {a + b} \right)}^2}} \right)}}{{{c^2}}}} $$

-- 12.10.2017, 22:00 --

Опять этот дурацкий знак $-$ под корнем. Он же делает выражение комплексным.

 Профиль  
                  
 
 Re: Вычисление расстояния от точки до стороны в барицент. коорд.
Сообщение12.10.2017, 22:04 
Заслуженный участник


26/05/14
981
Вы перепутали знаки перед $c^2$.

:-) Она и внутри треугольника работать будет.
Барицентрическая координата (одна) - это линейная функция продолженная с вершин треугольника на всю плоскость. В двух вершинах она равна нулю, в третьей - единице. Расстояние от прямой со знаком - это некоторая нетривиальная линейная функция на плоскости, которая равна нулю на прямой. Отсюда сразу следует что они пропорциональны. А коэффициент пропорциональности вы почти уже вывели.

 Профиль  
                  
 
 Re: Вычисление расстояния от точки до стороны в барицент. коорд.
Сообщение12.10.2017, 22:14 
Аватара пользователя


15/11/15
1297
Москва
slavav в сообщении #1255217 писал(а):
Вы перепутали знаки перед $c^2$.

Ой.

-- 12.10.2017, 22:16 --

Тогда так
$${l_c} = \frac{{{p_3}}}{2}\sqrt {\frac{{\left( {{c^2} - \;{{\left( {a - b} \right)}^2}} \right)\left( {{{\left( {a + b} \right)}^2} - {c^2}} \right)}}{{{c^2}}}} $$

 Профиль  
                  
 
 Re: Вычисление расстояния от точки до стороны в барицент. коорд.
Сообщение12.10.2017, 22:18 
Заслуженный участник


26/05/14
981
Так лучше. Теперь неравенство треугольника (применять два раза) гарантирует нам знак под корнем. Дело сделано.

 Профиль  
                  
 
 Re: Вычисление расстояния от точки до стороны в барицент. коорд.
Сообщение12.10.2017, 22:19 
Аватара пользователя


15/11/15
1297
Москва
Отлично, спасибо.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Mikhail_K


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group