Stap 4: Ruwe geometrische vormen
int xp = 16*wavetable[i2]/256;<br> int yp = 4*wavetable[(i2 + 64)%255]/256;
Voor een chip als dit wordt de opzoektabel van een zonde gebruikt. Het vinden van de sinus is net een waarde uit een tabel:
(waar de cosinus is gewoon een sinus met een faseverschuiving.)
void snow(){ byte snow[32]; byte flake[4] = { 0b01010, 0b11111, 0b11111, 0b01010 }; for ( int falling = 0 ; falling < 32; falling++){ //insert the flake, make it start at -4 for (int i = -4 ; i<36; i++) //not 0 because of the lcd.createChar(0, ) issue snow[i] = 0b00000; for (int j = 0 ; j<4 ; j++) if( ((falling + j) > -1) && ((falling + j)< 32)) snow[falling+j] = flake[j]; //making four special characters for (int i = 1 ; i<5 ; i++) //not 0 because of the lcd.createChar(0, ) issue { byte s1[8]; for (int j = 0 ; j<8 ; j++) s1[j] = snow[(i-1)*8+j]; lcd.createChar(i, s1); //make snowflakes appear on the screen setCursorFor16_4(i-1, 0); lcd.write(i); } delay(100); } }
Uiteraard op een klein scherm als deze is er niet veel van een ellips. Het is meer dat een handige manier van het maken van een kader rond de tekst in het midden.
U kunt genereren van uw eigen opzoektabel sinus, of zoekt u een op het internet, ik geleend van:
http://interface.KHM.de/index.php/Lab/experiments/...