Tarefa: criar e discutir uma aplicação que muda individualmente a cor do preenchimento de dois círculos, com raios e centros randômicos, sempre que o cursor do mouse passar sobre os mesmos
float distancia1D(float x1,float x2){
return (int)sqrt(pow(x2 - x1,2));
}
float distancia2D(float x1, float y1, int x2, int y2){
int a2;
float b = distancia1D(x1,x2);
float c = distancia1D(y1,y2);
a2 = (int)sqrt(b*b + c*c);
return a2;
}
float x1 = random(1,550);
float x2 = random(1,550);
float y1 = random(1,550);
float y2 = random(1,550);
float r1 = random(50,200);
float r2 = random(50,200);
void mudaCor(){
if(distancia2D(x1,y1,mouseX,mouseY) <= r1/2){
fill(255,0,0);
ellipse(x1,y1,r1,r1);
}else{
fill(0,0,255);
ellipse(x1,y1,r1,r1);
}
if(distancia2D(x2,y2,mouseX,mouseY) <= r2/2){
fill(244,231,0);
ellipse(x2,y2,r2,r2);
}else{
fill(0,135,56);
ellipse(x2,y2,r2,r2);
}
}
void setup(){
size(600,600);
}
void draw(){
background(0);
mudaCor();
textSize(16);
fill(255);
text("d círculo 1: " + distancia2D(x1,y1,mouseX,mouseY),mouseX+20,mouseY+20);
text("d círculo 2: " + distancia2D(x2,y2,mouseX,mouseY),mouseX+20,mouseY+40);
text("círculo 1",x1 - r1/4,y1 - (r1/2 + 20));
text("círculo 2",x2 - r2/4,y2 - (r2/2 + 20));
stroke(255);
line(x1,y1,mouseX,mouseY);
line(x2,y2,mouseX,mouseY);
}
Nenhum comentário:
Postar um comentário