2014 dxdy logo

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

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




 
 Точка внутри треугольника (3D)
Сообщение16.12.2011, 17:10 
Аватара пользователя
Добрый вечер.

В пространстве заданы четыре точки $A, B, C, O$ с известными радиус-векторами. Известно, что они лежат в одной плоскости. Как проще всего определить, лежит ли точка $O$ внутри треугольника $ABC$?

Если треугольник остроугольный, то можно считать, что меньшему синусу соответствует меньший угол. Из того, что $\angle CAO\le\angle CAB$ и $\angle OAB\le\angle CAB$ можно заключить, что $O$ лежит внутри угла $CAB$. В векторном виде это запишется через векторное произведение.
$$\frac{|\vec{AO}\times\vec{AB}|}{AO}\le\frac{|\vec{AC}\times\vec{AB}|}{AC}$$$$\frac{|\vec{AO}\times\vec{AC}|}{AO}\le\frac{|\vec{AB}\times\vec{AC}|}{AB}$$
Аналогичные неравенства запишем и для $\angle ABC$
$$\frac{|\vec{BO}\times\vec{BC}|}{BO}\le\frac{|\vec{BA}\times\vec{BC}|}{BA}$$$$\frac{|\vec{BO}\times\vec{BA}|}{BO}\le\frac{|\vec{BC}\times\vec{BA}|}{BC}$$

Если все эти неравенства выполнены, то точка лежит в треугольнике.

Но, во-первых, это как-то долго и некрасиво, а во-вторых, что если треугольник тупоугольный?

Может есть какое-нибудь относительно простое условие, выполнение которого означает, что точка $O$ лежит внутри $\Delta ABC$?

 
 
 
 Re: Точка внутри треугольника (3D)
Сообщение16.12.2011, 17:14 
Аватара пользователя
Она должна относительно каждой стороны лежать в той же, эээ, стороне, что и соответств.....

 
 
 
 Re: Точка внутри треугольника (3D)
Сообщение16.12.2011, 17:15 
Аватара пользователя
...ующ...

 
 
 
 Re: Точка внутри треугольника (3D)
Сообщение16.12.2011, 17:16 
Аватара пользователя
Но это не проще вашего (разве что не опирается на остроугольность). А проще-то нельзя.

 
 
 
 Re: Точка внутри треугольника (3D)
Сообщение16.12.2011, 17:24 
А барицентрические координаты сосчитать?

 
 
 
 Re: Точка внутри треугольника (3D)
Сообщение16.12.2011, 17:24 
Аватара пользователя
Найдем коэффициенты $b, c$ разложения $\vec{AO}$ по $\vec{AB}$ и $\vec{AC}$:
$\vec{AO}=b\vec{AB} + c\vec{AC}$
Тогда вот условия того, что $O$ принадлежит треугольнику: $b\geqslant 0, c \geqslant 0, b+c\leqslant 1$.

Заменим неравенства на строгие -- получим условия того, что $O$ -- внутренняя точка треугольника.

 
 
 
 Re: Точка внутри треугольника (3D)
Сообщение16.12.2011, 17:27 
Аватара пользователя
svv в сообщении #516214 писал(а):
Найдем коэффициенты $b, c$ разложения $\vec{AO}$ по $\vec{AB}$ и $\vec{AC}$:
$\vec{AO}=b\vec{AB} + c\vec{AC}$
Тогда вот условия того, что $O$ принадлежит треугольнику: $b\geqslant 0, c \geqslant 0, b+c\leqslant 1$.


Спасибо! Разложить - не проблема.

Я, кстати, ещё один способ придумал: по условию все четыре точки лежат в одной плоскости. А значит, $\vec{AC}\times{AO}$ и $\vec{AC}\times{AB}$ параллельны. Если они сонаправлены, то точки $O$ и $B$ по одну сторону от прямой $AC$ в плоскости $ABC$. Аналогично с прямыми $AB$ и $BC$.
Хотя, это же то же самое...

 
 
 
 Re: Точка внутри треугольника (3D)
Сообщение16.12.2011, 17:36 
Аватара пользователя
Да, и так можно.

ИСН, Вы наверняка заметили сходство со вчерашней задачей.

 
 
 
 Re: Точка внутри треугольника (3D)
Сообщение16.12.2011, 18:16 
Можно ещё так:если $|\vec {OA}\times \vec {OB}|+|\vec {OB}\times \vec {OC}|+|\vec {OC}\times {OA}|>|\vec {AB}\times \vec {AC}|$,то точка O вне треугольника.

 
 
 [ Сообщений: 9 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group