|  |  | | Něco matematiky 11. 7. 2005 / 18:50 | |
|  | | mějme obecný polygon, definovaný množinou bodů v rovině. Existuje nějaká rozumná matematická metoda, jak zjistit, je-li určitý bod uvnitř nebo vně polygonu ??? |
| |
|
 |  |  | | Re: Něco matematiky 11. 7. 2005 / 18:56 | |
|  | Pokud je množina bodů uspořádaná, je možné polygon rodělit do trojúhelníků. Otestovat bod uvnitř trojúhelníku už je hračka.
Pokud množina bodů není uspořádaní, nemá úloha jednoznačné řešení (není možné určit tvar polygonu).
|
| |
|
 |  |  | | Re: Něco matematiky 11. 7. 2005 / 19:22 | |
|  | | |
|
 |  |  |  | | Re: Re: Něco matematiky 11. 7. 2005 / 20:16 | |
|  | | Děkuji za podnětné zdroje, budu nad tím zítra v pracovní době bádat, to bude vypadat nenápadně a vědecky - v jádru mi jde o to , spáchat geberátor lesa v určité oblasti , nápad je takový , že se v něčem (artport fw, nebo ground) nadefinuje polygon a pak se zaplní stromy v zadaných rozestupech a v zadaných tvarech. |
| |
|
 |  |  |  |  | | Re: Re: Re: Něco matematiky 11. 7. 2005 / 20:22 | |
|  | | no pokud chceš a budu ti moct nějak pomoct tak napiš. kdyžtak moje icq 178364874 |
| |
|
 |  |  |  |  |  | | Re: Re: Re: Re: Něco matematiky 11. 7. 2005 / 20:26 | |
|  | | Díky , já se s tím nějak poperu , kdybych nevěděl, tak se ozvu |
| |
|
 |  |  |  |  |  |  | | Re: Re: Re: Re: Re: Něco matematiky 11. 7. 2005 / 20:28 | |
|  | | pokud mi zadáš sořadnice polygonu a dáš mi jak chceš velký rozestupy mezi stromy, tak ti myslím budu schopnej dát souřadnice všech stromů tak do 5 minut... ted to testuju |
| |
|
 |  |  |  |  |  |  |  | | Re: Re: Re: Re: Re: Re: Něco matematiky 11. 7. 2005 / 20:30 | |
|  | hm vypadá to že to funguje ... využívá to autocad. |
| |
|
 |  |  |  |  |  |  |  |  | | Re: Re: Re: Re: Re: Re: Re: Něco matematiky 11. 7. 2005 / 20:43 | |
|  | Jaký jsou vstupy a výstupy ???
třeba v airportu je polygon definován nějak takhle
-POINT = 1 572.52 666.92 0
-POINT = 2 551.84 683.2 0
-POINT = 3 562.4 697.28 0
-POINT = 4 571.2 689.36 0
-POINT = 5 580 699.48 0
-POINT = 6 588.36 708.72 0
-POINT = 7 614.76 741.72 0
-POINT = 8 597.16 763.72 0
-POINT = 9 600.68 768.12 0
-POINT = 10 618.72 747.44 0
-POINT = 11 633.68 766.8 0
-POINT = 12 654.8 789.24 0
-POINT = 13 675.04 805.96 0
-POINT = 14 698.36 824.44 0
-POINT = 15 707.16 813.88 0
-POINT = 16 711.12 806.4 0
-POINT = 17 737.96 762.84 0
-POINT = 18 720.36 743.04 0
-POINT = 19 694.4 775.6 0
-POINT = 20 682.08 787.04 0
-POINT = 21 667.12 785.28 0
-POINT = 22 651.72 772.08 0
-POINT = 23 638.96 756.24 0
-POINT = 24 621.36 730.72 0
jsou to prakticky x y koordináty k nějakému počátku , a výstup bych si představoval řadu podobných koordinát, já bych to převedl na lat/lon a dosadil do příslušné xml struktury , udělala by se na to nějaká obálka a bylo by |
| |
|
 |  |  |  |  |  |  |  |  |  | | Re: Re: Re: Re: Re: Re: Re: Re: Něco matematiky 11. 7. 2005 / 20:48 | |
|  | vstup je jen jeden, a to jsou souřadnice vrcholů polynomu. řeněme polynom o 5 vrcholech je cca 15 vteřin práce zadat...
pak je nutný dát šrafovat body... nastaví se jak mají být body daleko od sebe a dá se vyšrafovat oblast polygonu. vznikne tim sít bodů. tak se dají pomocí dotazu zjistit souřadnice bodů a je to...
dají se užít i jiné funkce, ne jen šrafy... třeba pole bodů |
| |
|
 |  |  |  |  |  |  |  |  |  | | Re: Re: Re: Re: Re: Re: Re: Re: Něco matematiky 11. 7. 2005 / 20:54 | |
|  | | to jsou v podstatě asi x,y souřadnice. to nebude problém z toho udělat v cadu polygon, pokud bude polygon větší (např víc než 30 souřadnic) tak bych si na to napsal spíš skriptík aby to odsejpalo rychlejc... jako výstup bych měl dostat x,y souřadnice bodů (stromů) |
| |
|
 |  |  |  |  |  |  |  |  |  | | Re: Re: Re: Re: Re: Re: Re: Re: Něco matematiky 11. 7. 2005 / 20:58 | |
|  | | neměl by to bejt problém. problém by mohl být u trojrozměrného polygonu ale jak koukam tak zetový souřadnice jsou asi všude nulový, je to jenom placka.... |
| |
|
 |  |  |  |  |  |  |  |  |  |  | | Re: Re: Re: Re: Re: Re: Re: Re: Re: Něco matematiky 11. 7. 2005 / 21:45 | |
|  | | von to tam nasází podle výšky terénu , to není problém. Ale radši bych měl nějakou rutinu v C++ , která mi řekne jestli bod, který počítám je uvnitř polygonu, podívám se na ty odkazy co dával Phantom |
| |
|
 |  |  |  |  |  |  |  |  |  |  |  | | Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Něco matematiky 11. 7. 2005 / 21:48 | |
|  | | JJ, jak chceš... tohle je spíš indukce... zadáš polygon a dopočítáš body uvnitř polygonu a získáš jejich souřadnice.... kdyby ti to nešlo tak napiš |
| |
|
 |  |  |  |  |  |  |  |  |  |  |  |  | | Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Něco matematiky 11. 7. 2005 / 21:52 | |
|  | Jasný , to je spíš pro jednorázový použití, já mám představu utilitky,
v airportu si uděláš polygon, kde chceš mít les, do utility na něj zadáš odkaz , vybereš stromy, zadáš rozestupy , a vyleze z toho xml soubor, kterej přeložíš a máš les hotovej
Ale ono to asi stejně bude na h... teď jsem udělal hektar hustýho lesa a při přiblížení klesly FPS asi tak n 5 |
| |
|
 |  |  |  |  |  |  |  |  |  |  |  |  |  | | Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Něco matematiky 11. 7. 2005 / 22:45 | |
|  | No myslim ze i na tohle by bylo reseni...
- polygon vykreslovany pomoci scasmovskeho DrawPoly ci jak to je, strasne zere FPS, protoze ho pocita procesor a vykresluje ho grafarna...
Zatimco tentyz polygon udelany v GMAXu a vykreslovany pomoci BGLC DrawTri zere prdlajs.
Dalsi vec je, ze muzes nasazet v ruznych vzdalenostech stromy v ruznych LODech - a hlavne ruzne modely - tj v jednem "useku" lesa bude sice treba 10 stromu, ale z nich se pouze 2 zobrazi pri velikosti par pixelu, 5 se jich zobrazi pri velikosti treba 10 pixelu a vsech deset se zobrazi az kdyz bude strom na obrazovce zabirat treba 100 pixelu...
Umistovani pak misto v airportu delat pomoci XML a BGLComp SDK (coz je na kod dle meho taky jednodussi).
|
| |
|
 |  |  | | Re: Něco matematiky 11. 7. 2005 / 19:27 | |
|  | No jestli jsem to dobře pochopil máš namysli jakýkoli obecný polygon ve 2D - řekněme v rovině x,y definovanej N vrcholy (body v rovině). pak je nějaký bod obecné polohy souřadnic x,y . pokud nebudeš znát přímo souřadnice vrcholů polygonu nebudeš znát souřadnice vektorů jednotlivých přímek ( hran polygonu) tak jednoznačně nemůžeš určit jestli bod náleží nebo nenáleží polygonu, a to z toho důvodu že polygon o více než 4 vrcholech už nemusí být jednozačně určen... viz obrázek. v prvním obrázku bod polygonu nenáleží, v druhém už jo a přitom jde o body se souřadnicemi které jsou stejné. liší se jen vektory hran
jej to bylo  |
|
|
| |
|
 |  |  |  | | Re: Re: Něco matematiky 11. 7. 2005 / 19:28 | |
|  | viz příspěvek od phantoma |
| |
|
 |  |  |  |  | | Re: Re: Re: Něco matematiky 13. 7. 2005 / 20:56 | |
|  | |
|
| |
|
|