/* built with Studio Sketchpad:
* https://sketchpad.cc
*
* observe the evolution of this sketch:
* https://dflab.sketchpad.cc/sp/pad/view/ro.WmIDLahZI63/rev.3236
*
* authors:
*
* Laura Ferreira
* license (unless otherwise specified):
* creative commons attribution-share alike 3.0 license.
* https://creativecommons.org/licenses/by-sa/3.0/
*/
// This sketch builds on a prior work, "Madalena Reis - 01", created by Madalena Reis
// http://dflab.sketchpad.cc/sp/pad/view/ro.9Nc7bNRxkRZMXg/rev.1315
int contador = 0;
int count = 0 ;
// valores das linhas
float linha1x = 150, linha1y = 300;
float linha2x = 175, linha2y = 350;
float linha3x = 250, linha3xx = 400, linha3y = 300;
float linha4x = 220, linha4xx = 400, linha4y = 350;
float linha1xr = 150, linha1yr = 300;
float linha2xr = 175, linha2yr = 350;
float linha3xr = 250, linha3xxr = 400, linha3yr = 300;
float linha4xr = 220, linha4xxr = 400, linha4yr= 350;
// valores das cores
int corum;
int cordois;
int cortres;
int corquatro;
int corcinco;
int corseis;
int corsete;
int coroito;
int cornove;
int cordez;
int coronze;
int cordoze;
void setup() {
size (400, 400);
background (255);
frameRate (15);
}
void draw() {
// para limpar a tela a cada frame
background (255);
// dar deslocamento as linhas
// se o resto da divisao do contador por 1 for 0, o que é sempre verdade //(&&), e o contador for menor que dez, aplica-se o descolamento das linhas
if ((count % 1 == 0 && count <30)) {
linha1x -= 5;
linha1y -= 10;
linha2x -= 5;
linha2y -= 10;
linha3x += 5;
linha3xx +=5;
linha3y -= 1;
linha4x +=5;
linha4xx +=5;
linha4y -=1;
}
// se uma das condiçoes do if falhar, entao é porque chegamos ao limite do //deslocamento, logo temos de reiniciar os valores
else {
linha1x = linha1xr;
linha1y = linha1yr;
linha2x = linha2xr;
linha2y = linha2yr;
linha3x = linha3xr;
linha3xx = linha3xxr;
linha3y = linha3yr;
linha4x = linha4xr;
linha4xx = linha4xxr;
linha4y = linha4yr;
count = 0;
}
// triangulo de fundo
noStroke();
fill(0);
triangle (200,0, 0,400, 400,400);
// triangulo grande
fill(255);
triangle(200,400, 90,220, 310,220);
// triangulo pequeno
triangle (200,152, 155,90, 245,90);
//triangulo medio
fill (corum, cordois, cortres);
triangle (200,220, 122,152, 276,152);
//triangulos de baixo, esquerda , direita
fill(corquatro, corcinco, corseis);
triangle (100,400, 50,300, 140,300);
fill(corsete, coroito, cornove);
triangle (300,400, 350,300, 259,300);
// triagulos do canto, esquerdo, direito
fill (cordez, coronze, cordoze);
triangle (0,0, 100,0, 0,200);
triangle (400,0, 300,0, 400,200);
// linhas da esquerda para a direita
strokeWeight (2);
stroke (0);
//linha1
line (linha1x,0, 0,linha1y);
//linha2
line (linha2x,0, 0,linha2y);
//linha3
line (linha3x,0, linha3xx,linha3y);
//linha4
line (linha4x,0, linha4xx,linha4y);
count ++; // adicionar uma unidade ao count, para que as rectas estejam //sempre em movimento
}
void mousePressed () {
if (contador == 0 ) {
corum = random (255);
cordois = random (255);
cortres = random (255);
}
if (contador == 1) {
corquatro = random (255);
corcinco = random (255);
corseis = random (255);
}
if (contador == 2) {
corsete = random (255);
coroito = random (255);
cornove = random (255);
}
if (contador == 3) {
cordez = random (255);
coronze = random (255);
cordoze = random (255);
}
// se for menor menor que tres aumenta o contador, senao volta ao zer«o (a // primeira cor para o triangulo)
if
(contador < 3 ){
contador ++ ;
}
else { contador = 0;
}
}