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
11780
Россия, Москва
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 ] 

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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