Stap 12: Geavanceerde - geanimeerde bloemen
(link naar HTML5 geanimeerde versie)
Voor de beste resultaten bij het streven een geanimeerde GIF exporteren, u moet zo weinig verschillende tinten (kleuren) genereren mogelijk, anders het coderingsprogramma GIF problemen opbouwen van een goede kleurenpalet zal hebben.
In dit voorbeeld wordt de instructie (int)(value/127) * 127 hier is het beperken van de kleurenresolutie.
Formule
FRAMES = 20; WIDTH = 150; RATIO = 1; X_MIN = -2; X_MAX = 2; Y_MIN = -2; Y_MAX = 2; TIME_INCREMENT = PI/10; OUT_PAUSE = false; float flower(x, y, t, n, k1, k2) { float radius = dist(x, y, 0, 0)/k1; // cartesian to polar float angle = atan2(x, y) + t*k2; // cartesian to polar; turns with time float value = sin(angle*n)-radius + pow(radius, exponent); value = min(255, max(0, (1+value) * 127)); return (int)(value/127) * 127; } float exponent; bool preDraw(t) { exponent = cos(t); return true; } color rgb(x,y,t) { float r = flower(x+1, y+1, t, 6, 0.5, -1); float g = flower(x+0.5, y-0.20, t, 5, 0.7, .2); float b = flower(x-1, y-1, t, 21, 0.5, .5); return color(255-r, 255-g, 255-b); }