Friday, June 24, 2011

SW: Zametacia technika (Sweep line)

Zametacia technika, alebo Sweep Line Algorithm. Tento algoritmus pouziva myslenu zametaciu priamku, alebo rovinu pre riesenie roznych problemov v Euklidovskom priestore. Zvislu priamku posuvame zlava doprava tak, ze skaceme medzi bodmi, kde treba zastavit. Body nalavo si zapamatame - nazyvame to Y-sktrukturou. Body si dopredu zoradime podla X. Tym si vybudujeme prioritnu frontu, ktorou posutpujeme. Metoda sa pouziva na hladanie minimalnych bodov a prisecnikov v rovine. Tato uloha riesi napriklad ulohu minimalnych bodov.

Uloha minimalnych bodov
- ulohou je najst vsetky take body, od ktorych nalavo ani dolu nie je ziaden bod.

  • zoradime body podla x - teda spravime si pararelnu frontu 
  • zametaciu priamku polozime zlava na najsamnajlavejsi bod x 
  • postupujeme po x-ovych bodoch 
  • ukladame si suradnice y 
na konci vieme, od ktorych bodov nie je nalavo ani dolu nic. nehladame body, ktore su najviac nalavo a najnizsie, ale take, ktore nekoliduju so ziadnym inym bodom na x a na y. 

touto tehcnikou sa riesia aj priesecniky useciek, alebo vonroiove diagramy (obalky).