zkoušková písemka 25.1.

Přednáška pokrývá základy 2D i 3D počítačové grafiky algoritmy pro kreslení a ořezávání v rovině, použití a zobrazování barev, zvětšování barevného rozlišení, kódování obrazu a rastrové grafické formáty, lineární transformace a projekce, metody reprezentace a zobrazování 3D scén, algoritmy výpočtu viditelnosti. Přednáška je doplněna cvičením - výroba modulů do knihovny JaGrLib v jazyce Java. V letním semestru na ni navazují přednášky pro vážnější zájemce Počítačová grafika II (PGR004) a Pokročilá 2D počítačová grafika (PGR007).

zkoušková písemka 25.1.

Příspěvekod gimli » 25. 1. 2007 11:08

Písemka nebyla těžká, na vypracování bylo 45 minut. Otázky vesměs jako na ústní s trochou konkretizace navíc, řekl bych.

1) Navrhněte datovou strukturu pro hranu v algoritmu vyplňování n-úhelníka (povolená syntax C#,C++,Java). Napište stručný komentář k jednotlivým parametrům.

2) Sestavte čtvercovou půtónovací matici pro laserovou tiskárnu rozlišující 51 barev (tónů).

3) Navrhněte grafické formáty/kompresní algoritmy pro následující činnosti - uložení screenshotu ve WIN, poslání fotky emailem, publikace fotky na webu.

4) Popište Warnockův řádkový algoritmus (podle mě tu mělo být Watkinsonův a tak jsem raděj napsal obě varianty) pro vykreslování 3D scény. Řekněte, kdy bude mít největší složitost (při konstantním počtu objektů ve scéně).

Nebylo to těžké, času bylo úplně přesně. Výsledky v pondělí.
gimli
Matfyz(ák|ačka) level I
 
Příspěvky: 10
Registrován: 21. 5. 2006 12:27
Bydliště: Dejvice

Půltónování

Příspěvekod Ján Zahornadský » 25. 1. 2007 12:26

Jak se řeší to půltónování na 51 barev?
Ján Zahornadský
Matfyz(ák|ačka) level I
 
Příspěvky: 9
Registrován: 18. 1. 2006 21:13

Příspěvekod gimli » 25. 1. 2007 13:06

Pelikán rovnou napsal, že chce matici (tak jsem mu udělal matici težko říci, zda je to správně). Měla byt čtvercová - což znamená minimálne 8x8 (7x7 má jen 50 odstínů - 49+prázdná). Chtělo to vymyslet inkrementální rastr (což jsem tak nějak odhadl ze zadání, <- chtěl jen jednu matici).

Trošku zajímavosti do toho přinášel fakt, že jde o laserovou tiskárnu, nebyl jsem schopen říct, zda rastr musí být tečkový (má to někde na slidech, že pro tiskárny je vhodnější) nebo obecný.

Ve své podstatě je to taková ta matice ve které jsou čísla, tisknou se jen ta, která jsou menší než číslo odstínu.
gimli
Matfyz(ák|ačka) level I
 
Příspěvky: 10
Registrován: 21. 5. 2006 12:27
Bydliště: Dejvice

Příspěvekod hippies » 25. 1. 2007 13:16

gimli píše:Pelikán rovnou napsal, že chce matici (tak jsem mu udělal matici težko říci, zda je to správně). Měla byt čtvercová - což znamená minimálne 8x8 (7x7 má jen 50 odstínů - 49+prázdná). Chtělo to vymyslet inkrementální rastr (což jsem tak nějak odhadl ze zadání, <- chtěl jen jednu matici).

Trošku zajímavosti do toho přinášel fakt, že jde o laserovou tiskárnu, nebyl jsem schopen říct, zda rastr musí být tečkový (má to někde na slidech, že pro tiskárny je vhodnější) nebo obecný.

Ve své podstatě je to taková ta matice ve které jsou čísla, tisknou se jen ta, která jsou menší než číslo odstínu.


No ten jediný způsob vytvoření matice co zmiňoval je rekurzivní a umí jen stranu 2^x. A jak se vyřeší ta políčka co zbydou? 8x8 má 65 odstínů -> co s těma 14?
Uživatelský avatar
hippies
Admin(ka) level I
 
Příspěvky: 990
Registrován: 29. 9. 2004 11:46
Bydliště: Mladá Boleslav
Typ studia: Informatika Mgr.
Login do SIS: procj4am

Příspěvekod Ján Zahornadský » 25. 1. 2007 13:42

hippies píše:No ten jediný způsob vytvoření matice co zmiňoval je rekurzivní a umí jen stranu 2^x. A jak se vyřeší ta políčka co zbydou? 8x8 má 65 odstínů -> co s těma 14?


Pokud bereme těch 51 odstínů jako čísla mezi nulou a jedničkou, tak podobně můžeme uvažovat o 65 odstínech a distribuovat chybu (chceme nakreslit odstín x/51, nakreslili jsme y/65, rozdíl rozdistribuujeme). Ale zní to podivně, zvládáme půltónováním vyjadřovat víc barev než potřebujeme :?
Ján Zahornadský
Matfyz(ák|ačka) level I
 
Příspěvky: 9
Registrován: 18. 1. 2006 21:13

Příspěvekod stnicolaus » 25. 1. 2007 18:01

hippies píše:
gimli píše:Pelikán rovnou napsal, že chce matici (tak jsem mu udělal matici težko říci, zda je to správně). Měla byt čtvercová - což znamená minimálne 8x8 (7x7 má jen 50 odstínů - 49+prázdná). Chtělo to vymyslet inkrementální rastr (což jsem tak nějak odhadl ze zadání, <- chtěl jen jednu matici).

Trošku zajímavosti do toho přinášel fakt, že jde o laserovou tiskárnu, nebyl jsem schopen říct, zda rastr musí být tečkový (má to někde na slidech, že pro tiskárny je vhodnější) nebo obecný.

Ve své podstatě je to taková ta matice ve které jsou čísla, tisknou se jen ta, která jsou menší než číslo odstínu.


No ten jediný způsob vytvoření matice co zmiňoval je rekurzivní a umí jen stranu 2^x. A jak se vyřeší ta políčka co zbydou? 8x8 má 65 odstínů -> co s těma 14?


Tak asi budeš muset některé po sobě jdoucí odstíny udělat tak, že se budou lišit o dvě tečky (nejen o jednu). Např. odstín 1 je jedna tečka, odstín 2 už 3 tečky...

Shodou okolností to vychází hezky, takže každý třetí odstín bude mít o tečku víc.
Uživatelský avatar
stnicolaus
Matfyz(ák|ačka) level II
 
Příspěvky: 73
Registrován: 22. 1. 2006 17:39
Bydliště: Plzeň
Typ studia: Informatika Bc.
Login do SIS: matal4am

Příspěvekod hippies » 25. 1. 2007 19:02

stnicolaus píše:
hippies píše:
gimli píše:Pelikán rovnou napsal, že chce matici (tak jsem mu udělal matici težko říci, zda je to správně). Měla byt čtvercová - což znamená minimálne 8x8 (7x7 má jen 50 odstínů - 49+prázdná). Chtělo to vymyslet inkrementální rastr (což jsem tak nějak odhadl ze zadání, <- chtěl jen jednu matici).

Trošku zajímavosti do toho přinášel fakt, že jde o laserovou tiskárnu, nebyl jsem schopen říct, zda rastr musí být tečkový (má to někde na slidech, že pro tiskárny je vhodnější) nebo obecný.

Ve své podstatě je to taková ta matice ve které jsou čísla, tisknou se jen ta, která jsou menší než číslo odstínu.


No ten jediný způsob vytvoření matice co zmiňoval je rekurzivní a umí jen stranu 2^x. A jak se vyřeší ta políčka co zbydou? 8x8 má 65 odstínů -> co s těma 14?


Tak asi budeš muset některé po sobě jdoucí odstíny udělat tak, že se budou lišit o dvě tečky (nejen o jednu). Např. odstín 1 je jedna tečka, odstín 2 už 3 tečky...

Shodou okolností to vychází hezky, takže každý třetí odstín bude mít o tečku víc.


Hmm.. čím víc nad tím přemýšlím, tím víc pochybuju, mohl by tu někdo hodit příslušnou matici?
Uživatelský avatar
hippies
Admin(ka) level I
 
Příspěvky: 990
Registrován: 29. 9. 2004 11:46
Bydliště: Mladá Boleslav
Typ studia: Informatika Mgr.
Login do SIS: procj4am

Příspěvekod stnicolaus » 25. 1. 2007 19:34

hippies píše:Hmm.. čím víc nad tím přemýšlím, tím víc pochybuju, mohl by tu někdo hodit příslušnou matici?



hodím příklad jak jsem to myslel pro 4x4 a třeba 9 odstínů (větší se mi nechce kreslit)

0 4 1 5
6 2 7 3
1 5 0 4
7 2 6 2

vs klasická

0 8 2 10
12 4 14 6
3 11 1 9
15 7 13 5
Uživatelský avatar
stnicolaus
Matfyz(ák|ačka) level II
 
Příspěvky: 73
Registrován: 22. 1. 2006 17:39
Bydliště: Plzeň
Typ studia: Informatika Bc.
Login do SIS: matal4am

Příspěvekod hippies » 26. 1. 2007 01:36

Tak jsem teď to toho trochu zabředl... a asi jsem přišel na to co chtěl..
protože na slidech má jako příkad tečkový rastr na 51 barev (10x10 a generování po dvou), tak bych skoro řekl, že se ta zmíněná laserová tiskárna zohlednit měla (ale jak ho znám, tak za to moc nestrhne, jestli tam máte pravidelný rastr dobře ...)
Uživatelský avatar
hippies
Admin(ka) level I
 
Příspěvky: 990
Registrován: 29. 9. 2004 11:46
Bydliště: Mladá Boleslav
Typ studia: Informatika Mgr.
Login do SIS: procj4am

Příspěvekod cgg » 9. 2. 2007 16:22

hippies píše:
No ten jediný zpùsob vytvoøení matice co zmiòoval je rekurzivní a umí jen stranu 2^x.


O tom si troufám pochybovat :D

U každého inkrementálního rastru jistě nemusela být poznámka
"pozor, tento rastr lze napsat maticí!"
cgg
Matfyz(ák|ačka) level I
 
Příspěvky: 4
Registrován: 9. 2. 2007 16:03

Příspěvekod cgg » 9. 2. 2007 16:27

hippies píše:..., tak bych skoro øekl, že se ta zmínìná laserová tiskárna zohlednit mìla


Na to můžete vzít jed, že to měl být rastr pro laserovku!

Byla o tom jedna zápočtová úloha, a protože ji většina studentů dělala dost blbě, kolovaly potom ještě podruhé na přednášce ukázky tisku.

Aby bylo každému jasné, že na tiskárně s velkým rozlišením se musí
použít něco jako "cluster-dot"..
cgg
Matfyz(ák|ačka) level I
 
Příspěvky: 4
Registrován: 9. 2. 2007 16:03


Zpět na PGR003 Počítačová grafika I

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 2 návštevníků