Para a imagem estática decidi fazer uma reprodução da capa do álbum Dark Side of the Moon dos Pink Floyd.
void setup() { size(800, 505); noLoop(); smooth(); } void draw() { background(0); colorMode(RGB); color a = color(255, 255, 255);//branco color b = color(255, 29, 30);//vermelho color c = color(255, 171, 29);//laranja color d = color(255, 252, 30);//amarelo color e = color(60, 200, 30);//verde color f = color(31, 150, 193);//azul color g = color(91, 54, 185);//roxo //raio de luz stroke(a); strokeWeight(3); line(0, 318, 340, 225); //raios de luz //vermelho stroke(b); strokeWeight(10); line(460, 206, 800, 259); //laranja stroke(c); strokeWeight(10); line(466, 216, 800, 268); //amarelo stroke(d); strokeWeight(10); line(470, 226, 800, 277); //verde stroke(e); strokeWeight(10); line(477, 236, 800, 286); //azul stroke(f); strokeWeight(10); line(483, 246, 800, 295); //roxo stroke(g); strokeWeight(10); line(489, 256, 800, 304); //triangulo noFill(); stroke(a); strokeWeight(10); triangle(265, 355, 543, 355, 402, 118); }
Para a composição dinâmica criei uma composição interactiva psicadélica fazendo uso dos exemplos disponibilizados.
// Variável para guardar o tempo em que a ultima frame foi criada long last_update = 0; // Variável para guardar o tempo da animação long anim_time = 0; // tempo total de animação (em milissegundos) long max_anim_time = 100; void setup() { size(1280, 720); // tempo desde que o sketch começou; last_update = millis(); } void draw() { colorMode(RGB); background(random(0, 255), random(0, 255), random (0, 255)); // tempo actual long now = millis(); // tempo desde a ultima frame long delta = millis() - last_update; last_update = now; // objecto que pulsa a cada 2 segundos anim_time = (anim_time + delta) % max_anim_time; //cor da elipse(amarelo) fill(255, 255, 0); //elipse ellipse (width/2, height/2, anim_time * 7, anim_time * 7); //função interativa com o rato, criação de 3 elipses quando o rato é pressiondo if (mousePressed){ //cor da elipse fill(255, 0, 255); //elipse posicionada aleatoriamente ellipse (random(1280), random(720), anim_time * 2, anim_time * 2); //cor da elipse fill(0, 255, 0); //elipse posicionada aleatoriamente ellipse (random(1280), random(720), anim_time * 2, anim_time * 2); //cor da elipse fill(0, 255, 255); //elipse posicionada aleatoriamente ellipse (random(1280), random(720), anim_time * 2, anim_time * 2); } }