.[ ČeskéHry.cz ].
Ořezání libovolného 2D polygonu polygonem

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Manox



Založen: 30. 07. 2007
Příspěvky: 140
Bydliště: Brno

PříspěvekZaslal: 9. duben 2008, 14:56:49    Předmět: Ořezání libovolného 2D polygonu polygonem Odpovědět s citátem

Ahoj,

už hodně dlouhou dobu řeším tenhle problém. Používal jsem Weiler Atherton algoritmus a všechno to vypadá dobře. Bohužel jen na papíře a přednáškách ze škol. Ovšem nikde jsem nenašel nějaké řešení pro speciální případy a s těmi mám obrovské problémy. Hlavně pokud leží nějaké vrcholy jednoho polygonu na druhém. Pak je to celé špatně. Udělal jsem nějaké vlastní úpravy, ale vždycke se najde nějaký případ co to nepokryje. Nevíte náhodou někdo o nějakém návodu, co funguje ve všech případech ? Díky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Dr.Sid



Založen: 11. 04. 2008
Příspěvky: 9

PříspěvekZaslal: 11. duben 2008, 20:57:38    Předmět: Odpovědět s citátem

Napsal jsem celkem funckni system na obecne operace nad polygony ve 2D. Bohuzel je to komercni. Zadny specialni algoritmus to neni, spis rozbiti na mensi jednoduche ulohy.

- prevest polygony na 2 bodove usecky. Dale se pracuje jen s useckami. Plosna povaha vstupnich polygonu se momentalne ignoruje.
- narezat krizici se usecky. Osetruji se specialni pripady bod na bodu, bod na hrane, nebo obecny hrana vuci hrane.
- vytvoreni vsech vzniklych dilku pres projiti grafu usecek s prednosti nejlevejsiho vychodu. Napriklad kdyz prekryju do krize dav obdelniky, vznikne 5 neprekryvajicich se dilku, plus dil ktere predstavuje okoli. Kazda hrana se pouzije 2x, v kazdem smeru jednou (podle toho se pozna jestli se muze pouzit nebo ne).
- detekce ze kterych zdroju kazdy dilek vznikl (pres bod v plose, coz je celkem rychle)
- aplikace logickych pravidel pro vytrizeni dilu (pokud delam prunik, vezmu jen ty dily ktere lezi v obou zdrojich a podobne)

Je to relativne pomale, nektere kroky by jiste slo sloucit. Ale praveze ta uloha je tak slozita, a ma tolik moznych variant, je snazsi testovat a ladit jednotlive kroky.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
johnnash



Založen: 30. 07. 2007
Příspěvky: 80

PříspěvekZaslal: 12. duben 2008, 10:08:30    Předmět: Odpovědět s citátem

Tady jsou reseny specialni pripady pro Weiler Athertona http://pierloic.free.fr/clip/clip.html.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna