QuestionCopyright.org

Cvičenie 02

Cieľom cvičenia je vyskúšať si vyskúšať si vykresľovanie úsečky pomocou Bresenhamovhou algoritmu a vykresľovanie kružnice pomocou Midpoint algoritmu.

Odovzdávanie úloh pre párnotýždňových (cvičenie 05.10.2010) - 25.10.2010 23:59:59
Odovzdávanie úloh pre nepárnotýždňových (cvičenie 12.10.2010) - 01.11.2010 23:59:59

Zadania

CV02_01 (1 bod)
Zadanie V grafickom režime 320x200 8bit nakreslite úsečky od stredu obrazovky s dĺžkou 80 pixelov a odstupom 10 stupňov. Na vytvorenie jednotlivých úsečiek použite Bresenhamov algoritmus, ako bol uvedený na prednáške.
Funkcie void ugr_asm_setmode(uint8_t mode)
void ugr_asm_putpixel(uint8_t color, int16_t x, int16_t y)
void ugr_mem_putpixel(uint8_t color, int16_t x, int16_t y)
EXE http://mirror.bwpow.eu/pub/upjs/ugr1/cv02/cv02_01.exe
Vzor Priklad 1
Komentár Jedna zo súradníc všetkých úsečiek je rovnaká a to stred obrazovky [160,100]. Druhú vypočítajte pomocou funkcií sin() a cos().
CV02_02 (2 body)
Zadanie V grafickom režime 320x200 8bit nakreslite na biele pozadie päť kružníc s polomerom 30 pixelov a stredmi v [90,80], [160,80], [230,80], [125,110] a [195,110], každú v inej farbe. Na vykreslenie kružníc použite Midpoint algoritmus, ako bol uvedený na prednáške.
Funkcie void ugr_asm_setmode(uint8_t mode)
void ugr_asm_putpixel(uint8_t color, int16_t x, int16_t y)
void ugr_mem_putpixel(uint8_t color, int16_t x, int16_t y)
void ugr_asm_palette(uint8_t color, uint8_t r, uint8_t g, uint8_t b)
EXE http://mirror.bwpow.eu/pub/upjs/ugr1/cv02/cv02_02.exe
Vzor Priklad 2
Komentár Miesto prekreslovania celej obrazovky môžete nastaviť farby pomocou zmeny palety.
CV02_03 (2 body)
Zadanie V grafickom režime 320x200 8bit nakreslite kružnicu so stredom v bode [160,100] a polomerom 90 pixelov. Ďalej nakreslite úsečku s jedným koncom v [160,100] a dĺžkou 85 pixelov, ktorá svojim pohybom simuluje sekundovú ručičku hodín. Ručička sa má pohybovať dookola až kým nebude stlačená ľubovoľná klávesa. Na vykreslenie úsečky použite Bresenhamov algoritmus a na vykreslenie kružnice Midpoint algoritmus.
Funkcie void ugr_asm_setmode(uint8_t mode)
void ugr_asm_putpixel(uint8_t color, int16_t x, int16_t y)
void ugr_mem_putpixel(uint8_t color, int16_t x, int16_t y)
EXE http://mirror.bwpow.eu/pub/upjs/ugr1/cv02/cv02_03.exe
Vzor Priklad 3
Komentár Na zastavenie vykonávania programu na jednu sekundu môžete použiť príkaz delay(1000).
CV02_E01 (bonusový príklad)
Zadanie V grafickom režime 320x200 8bit nakreslite a simulujte hodiny vrátane sekundovej, minútovej a hodinovej ručičky. Hodiny musia ukazovať aktuálny systémový čas. Na vykreslenie úsečiek použite Bresenhamov algoritmus a na vykreslenie kružnice Midpoint algoritmus.
Funkcie void ugr_asm_setmode(uint8_t mode)
void ugr_asm_putpixel(uint8_t color, int16_t x, int16_t y)
void ugr_mem_putpixel(uint8_t color, int16_t x, int16_t y)
EXE http://mirror.bwpow.eu/pub/upjs/ugr1/cv02/cv02_e01.exe
Vzor Priklad E01
Komentár Na získanie aktuálneho systémového času môžete použiť funkciu gettime().