|
Тема
|
алгоритъм
|
|
Автор |
asteriksa (непознат
) |
Публикувано | 25.11.10 15:36 |
|
Зададен е четириъгълник с координати на върховете х1,у1 - х4,у4 и точка А с координати х и у.
Предложете алгоритъм за определяне дали точката А(х,у) лежи във вътрешността на четириъгълника, или извън него.
| |
|
Най лесно - CreatePolygonRgn с координатите на четириъгълника и после проверка с PtInRegion .
Виж тук:
http://forum.delphiarea.com/viewtopic.php?p=2997
| |
Тема
|
Re: алгоритъм
[re: asteriksa]
|
|
Автор | Koko (Нерегистриран) |
Публикувано | 25.11.10 19:29 |
|
За да е една точка вътре в един правоъгълник, значи трябва да сравниш координатите...
т.е. х требе да ти е между х1 и х4 а у между у1 и у4...
най хамалско написано:
if (x1<x) and (x<x4) and (y1<y) and (y<y4) then
.....добър надпис
else
....кофти надпис
end;
| |
|
Колеги, става дума за произволен четириъгълник, а не за правоъгълен такъв.
За правоъгълник е много лесно, но когато е напр. успоредник, трапец или друг, страните на който сключват помежду си ъгли различни от 90 градуса, тогава задачата се усложнява.
| |
|
Полигона е площ , затворена в произволен многоъгълник , така че ще свърши работа
| |
Тема
|
Re: алгоритъм
[re: asteriksa]
|
|
Автор | Koko (Нерегистриран) |
Публикувано | 26.11.10 23:10 |
|
Просо предположих, че е правоъгълник, след като си дал 2 точки -> (х1,у1) и (х4,у4)
| |
|
уравнение на права
y=ax + b
a = (y2-y1)/(x2-x1)
b = y1 - a*x1
в твоя случай - 4 уравнения, после от тези уравнения се проверява къде лежи точка А спрямо всяка от 4-те прави /страните на четириъгълника/
пий и пей!
| |
|
|
|
|