Zkouška 6.7.2016 Pelikán

Kalthar
Matfyz(ák|ačka) level I
Příspěvky: 6
Registrován: 5. 10. 2014 10:28
Typ studia: Informatika Mgr.

Zkouška 6.7.2016 Pelikán

Příspěvek od Kalthar »

1) Phongův model osvětlení (25b)
Vzorce a způsob jak přidat možnost průhledných materiálů (voda, sklo)

2) Základy algoritmu Ray-Tracingu (25b)
Stačí opravdu jen obecně nastínit algoritmus, ale chtěl podrobně popsat metodu shade()

3) Adaptivní jittering (25b)
Měli jsme navrhnout metodu, jak používat jittering adaptivně, aby bylo možné ho efektivně zjemňovat

4) Urychlení hledání průsečíků - Metoda pravidelné mřížky (ve 3D) (25b)
Deklarace v oblíbeném jazyce (C, C++, C#, Java) + algoritmus na hledání průsečíku

Řešení: Upřímně jsem většinu vařil z vody, takže moc neporadím. Každopádně i tak bylo možné většinu logicky vymyslet a byl i milý a snažil se pochopit mojí myšlenku.

Opravdu jistý si jsem akorát s 3).

Jittering funguje na principu rozdělení pixelu na části a náhodného výběru z každé části. Adaptivně stačí určit nějakou funkcí (předem danou), kterou část je potřeba zjemnit a tu následně rozdělit na podčásti. Výsledek by mohl vypadat třeba takto:

Kód: Vybrat vše

 _______
|   |_|_|
|___|_|_|
|   |   |
|___|___|
S tím, že všem naměřeným hodnotám v podbuňkách pravé horní buňky se přidá váha 1/4. Nechá se to také představit tak, že se spočítá průměr hodnot vpravo nahoře v podbuňkách a ten se použije jako honota větší pravé horní buňky, která se teprve poté počítá do průměrné hodnoty celého pixelu.


U 4) byl opravdu shovívavý. Nebyl jsem si jist, jak to myslí a namísto mřížky jsem napsal oktanový strom a hledání v něm. S drobnými nedostatky. Ale i tak za 20b.
Odpovědět

Zpět na „PGR004 Počítačová grafika II“