Definice M Množina se nazývá konvení, jestliže úsečka spojující libovolné dva její bod je částí této množin, tj. ab, M, t 0, : ta+ ( tb ) M konvení množina a b a b nekonvení množina
Definice Konvení obal množin množinu obsahuje. M M je nejmenší konvení množina, která Konvení obal ve D konvení obal = konvení mnohoúhelník reprezentace uspořádaná posloupnost vrcholů (proti směru hodinových ručiček) Konvení obal ve D konvení obal = konvení mnohostěn reprezentace planární graf
vstup n výstup bodů v rovině konvení obal
Algoritmus volba KSS nalezneme bod s největší -ovou souřadnicí - bod je vrchol konveního obalu v bodě určíme tzv. dělící přímku nejčastěji (všechn bod vstupní množin musí ležet v jedné polorovině, kterou určuje dělící přímka)
Algoritmus z bodu vedeme všechn polopřímk směřující do ostatních bodů vstupní množin
Algoritmus z bodu vedeme všechn polopřímk směřující do ostatních bodů vstupní množin = vbereme tu polopřímku, která svírá s první přímkou (dělící přímka) nejmenší úhel dostáváme vrchol konveního obalu -
Algoritmus z bodu vedeme všechn polopřímk směřující do ostatních bodů vstupní množin = vbereme tu polopřímku, která svírá s první přímkou (dělící přímka) nejmenší úhel dostáváme vrchol konveního obalu hrana konveního obalu
Algoritmus opakujeme, dokud se nedostaneme s hranou konveního obalu opět do prvního bodu, tj. do =
Algoritmus opakujeme, dokud se nedostaneme s hranou konveního obalu opět do prvního bodu, tj. do =
Algoritmus opakujeme, dokud se nedostaneme s hranou konveního obalu opět do prvního bodu, tj. do =
Algoritmus opakujeme, dokud se nedostaneme s hranou konveního obalu opět do prvního bodu, tj. do =
Algoritmus opakujeme, dokud se nedostaneme s hranou konveního obalu opět do prvního bodu, tj. do = 5
Algoritmus opakujeme, dokud se nedostaneme s hranou konveního obalu opět do prvního bodu, tj. do = 5 6
Algoritmus opakujeme, dokud se nedostaneme s hranou konveního obalu opět do prvního bodu, tj. do = 7 5 6
Algoritmus opakujeme, dokud se nedostaneme s hranou konveního obalu opět do prvního bodu, tj. do = 7 5 6
Algoritmus volba KSS nalezneme bod s největší -ovou souřadnicí - Q bod je vrchol konveního obalu Q zvolíme bod uvnitř množin (např. těžiště)
Algoritmus Q polopřímkou Q z bodu svazek polopřímek - uspořádáme kladně počínaje Q Ai QA i budeme postupovat po jednotlivých bodech A i dle uspořádání rozhodujeme, zda daný vrchol náleží konvenímu obalu
Algoritmus Q polopřímkou Q QA i z bodu svazek polopřímek - uspořádáme kladně počínaje Ai A, A,..., An seřazené ke každému bodu známe předchůdce a následníka Q A, A, A i i i+ A A + Ai i -je předchůdce i a následník
Algoritmus A, A, A - zkoumáme, zda bod leží nalevo nebo napravo i i i+ od polopřímk A A i i A i + A i + nalevo A i + Ai A i napravo A Q, A, A Ai za dosadíme následník i i i+ Q Ai Ai A i + za dosadíme A i - vmažeme
Algoritmus při průchodu konvením obalem leží vžd následující bod nalevo od zkoumané polopřímk A i + nalevo A i + Ai A i napravo Ai Ai Q Q
Algoritmus - přírůstkový vbereme libovolné tři bod, které tvoří trojúhelník = počáteční konvení obal uspořádáme proti směru hod. ruč. nalezneme množinu vnějších bodů libovolný bod vnější množin přidáme do konveního obalu
Algoritmus - přírůstkový vbereme libovolné tři bod, které tvoří trojúhelník = počáteční konvení obal uspořádáme proti směru hod. ruč. nalezneme množinu vnějších bodů libovolný bod vnější množin přidáme do konveního obalu pomocí determinantu zjišťuji, které hran jsou z přidávaného bodu vidět t vmažeme z konveního obalu
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol 5 opakujeme, dokud množina vnějších bodů není prázdná
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná 5
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná 5
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná 5
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná 6 5
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná 5
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná 6 5
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná 5
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol 6 opakujeme, dokud množina vnějších bodů není prázdná 5
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná 5 6
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná 5 6 7
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná 5 6 7
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol 8 opakujeme, dokud množina vnějších bodů není prázdná 5 6 7
Algoritmus - přírůstkový v následujícím kroku znovu určíme množinu vnějších bodů a přečíslujeme vrchol opakujeme, dokud množina vnějších bodů není prázdná 5 6 7