PO1:
přepočet realných souřadnic do souřadnic BP
P02:
přímka
definována počátečním a koncovým bodem, počátečním bodem a vektorem rozdílů
rasterizace – osmispojitá, čtyřspojitá
algoritmy kreslení
– výpočet obou souřadnic
– DDA algoritmus
– Bresenhamův algoritmus – odvození z LineAlgorithms
kružnice
– výpočet obou souřadnic (parametrická rovnice)
– otáčení (x2 = x1 * cos a – y1 * sin a; y2 = x1 * sin a + y1 * cos a;)
– z rovnice kružnice(y=…), za x se dosazují hodnoty < -r, r>
– Bresenhamův algoritmus
elipsa
Bresenhamův algoritmus
kreslení přerušovaných čar, tlustých čar
antialiasing
bonus: sinusovka, něvětrající větrák
PO3:
transformace – vektorová grafika (body) vs rastrová (vše)
transformační matice
– posunutí: x’=x+p; y’=y+p; p posunutí
– otočení: x’=x*cos a – y*sin a; y’=x*sin a + y*cos a; a úhel otočení
– zkosení: x’=x+z*y; y’=z*x+y; z zkosení
– změna měřítka: x’=z_x*x; y’=s_y*y; z_x, z_y zkosení
– souměrnost: středová (z_x=-1; z_y=-1;), souměrnost podle x (z_x=1; z_y=-1;), souměrnost podle y (z_x=-1; z_y=1;)
!!skládání transformací
PO4:
Hranice určená geometricky – posloupnost bodů, posloupnost přímek, úseček, oblouků
!řádkové vyplňování
šrafování pod úhlem (otočit, vyplnit, otočit)
vyplnění vzorem
semínkové vyplňování (rekurze, vlastní zásobník; řádková varianta)
!hraniční vyplňování (vyplní se vše, co není konkrétní barva hranice)
!záplavové (vyplní vnitřní barvu (původní barva semínka), ne hranici či jinou barvu)
inverzní vyplňování (plotové inverzní v) – od hraniční přímky vyplnit vše, postupným vyplňováním v režimu XOR dojde k vyplnění objektu (vyplňování směrem k hranici, která prochází některým z bodů)
4spojitá oblast – mezi body existuje cesta nahoru-dolů, vlevo-vpravo (8spojitá hranice)
8spojitá oblast – mezi body existuje cesta z vodorovných, svislých a diagonálních kroků po vnitřních bodech (4spojitá hranice)
P05:
test polohy bodu (v případě konvexního mnohoúhelníka vyhodnotit vůči všem úsečkám)
!Cohen-Sutherland – 4bitový kód (0000 je uvnitř; vlevo, vpravo, dole, nahoře) + ořez
!Liang-Barsky – založeno na parametrickém vyjádření úsečky (ztratíme se v ifech :-D)
!Sutherland-Hodgman – proudové ořezávání, ořez je vždy jedné hranice, vyměnit x/y a znaménko
P06:
Vzorce počítačové 2D grafiky – vektorové operace, vzdálenost bodů, vyjádření přímky, poloha bodu a přímky (vzdálenost), poloha dvou přímek, přimky a kružnice, těžiště trojúhelníku
P07:
událost – delphi obdrží zprávu od operačního systému (OnChange, OnClick, OnExit,…)
P08:
analytické křivky (změna parametru t), polynom (nejpoužívanější kubika)
interpolační křivky – n+1 bodů, funkce stupně n (n+1 rovnic); splajnová křivka z n dílčích polynomů
Interpolace – Lagrangeovy polynomy, splajnové křivky
Lagrangeovy polynomy – rozkmitání křivky u krajních bodů
Splajnové křivky – po částech spojitá, Kubický splajn – polynom 3. stupně. Pro každý interval tvoříme polynom
s_i(x) = a_i + b_i(x-x_(i-1)) + c_i(x-x_(i-1)) + d_i(x-x_(i-1))^3
->substituce
aproximační křivky – metoda nejmenších čtverců
Beziérova křivka
Kubická Coonsonova křivka