![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Треугольник АВС и точка P. Кто помнит геометрию? [Delphi]
Aleksey_a © (2004-09-28 03:32:00)Простая вроде задача но никак не могу вспомнить. Дано три точки на плоскости A(Aх,Aх), B(Bx,By) и C(Cx,Cy) (треугольник). Нужно решить задачу попадания или непопадания точки P(Px,Py) в этот треугольник.
Darth (2004-09-30 22:58:00) [21]alexsh или на одной из его граней. Или является одной из его вершин.
alexsh (2004-09-30 20:49:00) [22]Если сумма площадей треугольников PAC, PAB, PBC равна площади треугольника ABC, то точка лежит внутри треугольника
Денис К. (2004-09-28 10:56:00) [23]Как я понял речь идет про плоскость, а не про пространство.
Тогда, если знаешь что такое векторное произведение, то
M = AB x AP
N = BC x BP
Q = CA x CP
Знаки M.z, N.z, Q.z должны быть одинаковыми (либо "+" либо "-"),
а если какая-то из координат *.z = 0 то точка лежит на стороне или ее продолжении.
Леван (2004-09-28 10:11:00) [24]Пусть Fab(m)=0 - уравнение прямой, проходящей через точек 'a','b':
(x-xa)/(xb-xa)-(y-ya)/(yb-ya)=0
условие, что точка 'с' и точка 'p' лежат по одной стороне линии ab, заключается в
Fab(c)*Fab(p)>0
т.е. если
Fab(c)*Fab(p)>0
Fbc(a)*Fbc(p)>0
Fac(b)*Fac(p)>0
то точка p лежит внутри треугольника abc
Sodom (2004-09-28 09:33:00) [25]А если подойти к этому проще. Нарисуй треугольник, точку, закрась его и посмотри совпадает ли цвет точки с цветов заливки. :)
MBo (2004-09-28 07:55:00) [26]все скалярные произведения нормалей сторон на векторы точка-соотв. вершина должны быть положительны (при нумерации вершин против час. стрелки)
Булат Шакиров (2004-09-28 06:36:00) [27]http://algolist.manual.ru/maths/geom/belong/poly2d.php
ЮЮ (2004-09-28 06:18:00) [28]Z-координата векторных произведений ABхAP, BCxBP и CAxCP должны быть (положитедьны/отрицательны - не помню, поищи теорию)
Aleksey_a (2004-09-28 05:46:00) [29]А можно попонятней? Что такое справа и как это выглядит в формуле?
Darth (2004-09-28 04:18:00) [30]точка должна лежать справа от AB, BC и CD.