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 | |
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 | |
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 | |
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 | |
Komentár | Na získanie aktuálneho systémového času môžete použiť funkciu gettime(). |