admin SZZ otázka 11 přehled
897×927 (55.5 kiB)

**1. Rasterizace úseček**
* **DDA (Digital Differential Analyzer)**
* *Princip:* V ose X krok +1, v ose Y přičítá směrnici $k$.
* *Výhoda:* jednoduché.
* *Nevýhoda:* Pomalé (desetinná aritmetika, zaokrouhlování).
* **DDA fixed-point**
* *Princip:* DDA s bitovým posunem.
* *Výhoda:* Odstranění desetinných čísel.
* **Bresenham (Midpoint)**
* *Princip:* Sledování chyby (prediktor), pouze celočíselné sčítání a porovnání.
* *Výhoda:* Velmi rychlé, ideální pro HW implementaci.
* *Nevýhoda:* Nutnost úprav pro všechny oktanty.

**2. Rasterizace polygonů**
* **Řádkové vyplňování (Scanline)**
* *Princip:* Průsečíky řádků s hranami. Vyplňuje prostor mezi lichým a sudým průsečíkem.
* *Výhoda:* Zvládne i nekonvexní polygony.
* *Nevýhoda:* Nutnost třídit průsečíky, problémy s lokálními extrémy a vodorovnými hranami.
* **Inverzní řádkové vyplňování**
* *Princip:* Od hrany doprava invertuje pixely.
* *Výhoda:* Rychlé, bez třídění průsečíků.
* *Nevýhoda:* Mění okolí, nutný pomocný buffer a dokreslení obrysu.
* **Pinedův algoritmus**
* *Princip:* Hranová funkce (vektorový součin). Bod je uvnitř, pokud leží v kladné polorovině všech hran.
* *Výhoda:* Skvělé pro HW paralelizaci a trojúhelníky.
* *Nevýhoda:* Jen pro konvexní polygony.
* **Semínkové (Flood fill)**
* *Princip:* Rekurzivní barvení sousedů (4 nebo 8-okolí) od semínka po hranici.
* *Výhoda:* Jednoduché pro libovolné ohraničení.
* *Nevýhoda:* Riziko přetečení zásobníku kvůli rekurzi.

**3. Reprezentace křivek**
* **Bézierova křivka**
* *Princip:* Aproximační křivka, leží v konvexní obálce $n+1$ řídicích bodů, využívá Bernsteinovy polynomy.
* **De Casteljauův algoritmus (vykreslení)**
* *Princip:* Rekurzivní dělení řídících úseček v poměru $t$ a $1-t$.
* *Výhoda:* Jednoduchý a stabilní.
* *Nevýhoda:* Problém určit optimální velikost kroku $t$ pro rovnoměrné vykreslení.