Zk. 9.1.2015 - předtermín

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Zk. 9.1.2015 - předtermín

Zk. 9.1.2015 - předtermín

od Gyfis » 9. 1. 2015 13:31

Ahoj, tady jsou otázky, odpovědi a mé bodování z dnešního předtermínu:

Otázky:
1) Napiště datovou strukturu, kterou byste reprezentovali hranu v řádkovém algoritmu pro vyplňování n-úhelníku. Použijte jazyk z množiny {C, C++, Java, C#}. Berte v úvahu dva obvyklé druhy vyplňování, každý parametr stručně popište.
2) Co je to anti-aliasing, k čemu se používá? Popište základní principy použité při anti-aliasingu (ne konkrétní algoritmy).
3) Napište půltónovací matici pro ČB laserovou tiskárnu o 51 odstínech.
4) Jak byste reprezentovali kameru pro rovnoběžnou kolmou projekci (ortogonální)? Jak byste přišli na matici projekce této kamery (nebo tak něco)?

Upřesnění:
1) Ptal jsem se na jazyk, psal ať to není žádný lisp, ať je to něco rozumného a deklarativního, ať jde prostě vidět, že člověk ví o co jde (myslím, že mu šlo hlavně o datové typy proměnných)


Moje odpovědi a hodnocení:
1) struct Edge { real x, int y, int dy, real dxy },
x: x-souřadnice prvního bodu hrany a při běhu algoritmu průsečík s moentální řádkou
y: y-souřadnice prvního bodu hrany
dy: y-rozdíl mezi prvním a druhým bodem hrany (y2 - y1)
dxy: o kolik se změní x při přechodu z y na y+1 (na další řádku), vypočítá se jako (x2 - x1) / dy
[25/25]

2) Antialiasing je metoda, která se používá pro zlepšení vizuálních vlastností objektů vykreslených na obrazovce (čar, polygonů, písma).
Funguje jako vykreslování všech pixelů, které objekt překrývá, a používá více odstínů barvy (například: odstín odpovídá procentu zakrytí pixelu).
[18/25] - Myslím, že jsem tam toho moc víc nepsal, nějaké věci kolem, asi mu tam něco specifického chybělo.

3) jelikož jde o laserovou tiskárnu, musí se použít bodový rastr, při pravidelném inkrementálním by se rozpíjely kapky.
Jelikož chceme 51 odstínů, máme 1 odstín bílý a 50 odstínů barvy, to odpovídá matici 10x10, kde pro každý odstín přidáme dva pixely (nejdřív do levé-horní a pravé-spodní poloviny kde tvoříme kruhy, a poté jakoby zmenšujeme invertovaný kruh v pravé-horní a levé-spodní polovině). Přesně tenhle příklad je ve slajdech, nakreslil jsem odstíny 1,3,25,45,50.
[25/25]

4) kameru budeme reprezentovat pomocí:
S: rovina průmětny
N: vektor kolmý na průmětnu
u: svislý vektor
Na matici transformace bych přišel tím způsbem, že bych vektor N sjednotil s osou z a vektor u sjednotil s osou x, pomocí operace Cs(S,uxN,u,N).
Matice bude 4x4, neboť se použijí homogenní souřadnice (x,y,z,w)
[25/25]


Atmosféra na zkoušce hodně uvolněná, zkoušející si vklidu vyřídil hovor při zkoušení, písemku mi opravil během pár minut potom, co jsem mu ji dal.

Nahoru