quarta-feira, 10 de fevereiro de 2016

Tarefa 08 - Cores de círculos

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