Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.16;
Скачать: CL | DM;

Вниз

Вопрос по геометрии   Найти похожие ветки 

 
Хранитель_7К   (2003-01-10 10:55) [0]

Такой вопрос - есть три некие точки a,b,c у них есть координаты x и y соответсвенно, z не нужна. И есть такая точка d которая может находиться внутри треугольника abc, а может и не находиться внутри. Третьего не дано :-)
Так вот вопрос - как по "научному" определить это, красиво в одну формулу.
Ибо я нашел только один способ:
if (dx<ax) and (dx>bx) and (dx>cx)... и т.д.
Понимаю, что не красиво и грубо. Но как?
Извините если глупый вопрос, плохо в школе учился :-)


 
Digitman ©   (2003-01-10 11:23) [1]


> плохо в школе учился


Скалярное произведение векторов тебе о чем-то говорит ?


 
Хранитель_7К   (2003-01-10 11:30) [2]

Говорит, только формулу не помню, подскажите троечнику.


 
Shadow ©   (2003-01-10 11:32) [3]


> Говорит, только формулу не помню, подскажите троечнику.
>


_ _ _ _ _ _
a*b=|a|*|b|*cos(a;b)


 
Хранитель_7К   (2003-01-10 11:38) [4]

Ну и как мне эта формула поможет, интересно...
Да и угол между гранями a и b просто так не дается.
Его еще найти надо.


 
Shadow ©   (2003-01-10 11:39) [5]

_ _
a*b=X1*X2+Y1*Y2


 
Хранитель_7К   (2003-01-10 11:43) [6]

Ну найду я эти произведения a*b и b*c и что дальше, как принадлежность точки d опрделить?
Или я чего то недопонимаю.


 
Digitman ©   (2003-01-10 12:06) [7]

Вру. Не скалярное, а векторное произведение.

Пусть треугольник ABC задан вершинами (Xa,Ya), (Xb,Yb), (Xc,Yc) так, что направление обхода вершин совпадает с направлением против часовой стрелки.
Пусть точка D имеет координаты (Xd, Yd).

Тогда

Za = (Xb-Xa)*(Yd-Ya) - (Yb-Ya)*(Xd-Xa)
Zb = (Xb-Xa)*(Yd-Ya) - (Yb-Ya)*(Xd-Xa)
Zc = (Xa-Xc)*(Yd-Yc) - (Ya-Yc)*(Xd-Xc)

если и Za > 0 и Zb > 0 и Zc > 0, то D лежит внутри треугольника



 
Digitman ©   (2003-01-10 12:16) [8]

Треугольник - частный случай. В общем случае это верно для любого выпуклого полигона.
В 3D-графике это - самый простой и эффективный метод определения видимости грани 3D-объекта, проецируемого на 2D-плоскость визуализации


 
Хранитель_7К   (2003-01-10 13:06) [9]

Ну вот это то что нужно
Спасиба !



Страницы: 1 вся ветка

Текущий архив: 2003.06.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
1-50270
OlegM
2003-06-03 09:05
2003.06.16
Устойчивая подсказка


3-50212
pav_oleg
2003-05-26 01:40
2003.06.16
Как подменять значения некоторых полей результата запроса?


8-50401
Serge Pik
2003-03-01 13:58
2003.06.16
Поддержка Surfaсe, teeChartPro


1-50287
kull
2003-06-04 15:49
2003.06.16
TroubleShooting database...


6-50416
BGV
2003-04-11 17:13
2003.06.16
Не могу выкачить файл с FTP сервера