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).
gimli
Matfyz(ák|ačka) level I
Příspěvky: 10
Registrován: 21. 5. 2006 13:27
Typ studia: Informatika Bc.
Bydliště: Dejvice
Kontaktovat uživatele:

zkoušková písemka 25.1.

Příspěvek od gimli »

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í.
Ján Zahornadský
Matfyz(ák|ačka) level I
Příspěvky: 9
Registrován: 18. 1. 2006 21:13
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Půltónování

Příspěvek od Ján Zahornadský »

Jak se řeší to půltónování na 51 barev?
gimli
Matfyz(ák|ačka) level I
Příspěvky: 10
Registrován: 21. 5. 2006 13:27
Typ studia: Informatika Bc.
Bydliště: Dejvice
Kontaktovat uživatele:

Příspěvek od gimli »

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.
Uživatelský avatar
hippies
Admin(ka) level I
Příspěvky: 990
Registrován: 29. 9. 2004 12:46
Typ studia: Informatika Mgr.
Bydliště: Mladá Boleslav
Kontaktovat uživatele:

Příspěvek od hippies »

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?
Ján Zahornadský
Matfyz(ák|ačka) level I
Příspěvky: 9
Registrován: 18. 1. 2006 21:13
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od Ján Zahornadský »

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 :?
Uživatelský avatar
stnicolaus
Matfyz(ák|ačka) level II
Příspěvky: 73
Registrován: 22. 1. 2006 17:39
Typ studia: Informatika Bc.
Bydliště: Plzeň
Kontaktovat uživatele:

Příspěvek od stnicolaus »

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
hippies
Admin(ka) level I
Příspěvky: 990
Registrován: 29. 9. 2004 12:46
Typ studia: Informatika Mgr.
Bydliště: Mladá Boleslav
Kontaktovat uživatele:

Příspěvek od hippies »

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
stnicolaus
Matfyz(ák|ačka) level II
Příspěvky: 73
Registrován: 22. 1. 2006 17:39
Typ studia: Informatika Bc.
Bydliště: Plzeň
Kontaktovat uživatele:

Příspěvek od stnicolaus »

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
hippies
Admin(ka) level I
Příspěvky: 990
Registrován: 29. 9. 2004 12:46
Typ studia: Informatika Mgr.
Bydliště: Mladá Boleslav
Kontaktovat uživatele:

Příspěvek od hippies »

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 ...)
cgg
Matfyz(ák|ačka) level I
Příspěvky: 4
Registrován: 9. 2. 2007 16:03

Příspěvek od cgg »

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ěvek od cgg »

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"..
Odpovědět

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