Главная страница
    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.45 MB
Время: 0.006 c
1-50393
OlegM
2003-06-04 13:52
2003.06.16
1 PopupMenu и несколько компонентов


1-50292
Arm79
2003-06-04 17:13
2003.06.16
Установка компонент сторонниз разработчиков


3-50214
SergSuper
2003-05-26 10:41
2003.06.16
Как читать DBF файлы через ADO?


3-50261
KIE
2003-05-25 22:30
2003.06.16
DBGrid + значение ячейки и имя поля


1-50295
Andrei-BAM
2003-06-04 17:09
2003.06.16
Проблема с прятанием(HIDE) контрола





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский