quinta-feira, 8 de maio de 2014

Questão 3 Prova

int largTela = 500;
int altTela = 500;

void setup(){
  size(largTela,altTela);
}


int origemX = largTela/2;
int origemY = altTela/2;
int raio = 150;

float hip;
float catAdj;
float catOp;

float hipPeq;
float catAdjPeq;
float catOpPeq;


int largRect = 500;
int altRect = 50;


void draw(){
  background(255);
  
  
  fill(255);
  ellipse(origemX, origemY, 2*raio , 2*raio);
  
  
  hip = distanciaPP(origemX, origemY, mouseX, mouseY);
  catAdj = mouseX - origemX;
  catOp = mouseY - origemY;
  
  hipPeq = raio;
  catAdjPeq = catAdj * hipPeq / hip;
  catOpPeq = catOp * hipPeq / hip;
  
  
  
  line(origemX, origemY, origemX+catAdjPeq, origemY+catOpPeq );
  
  float angulo = degrees(asin(catOpPeq/hipPeq));
  
  if(angulo<0)
  angulo=-angulo;
  if(mouseX<origemX)
  angulo = 90+(90-angulo);
  if(mouseY<origemY)
  angulo = 180+(180-angulo);
  
  println(angulo);

  fill(255);
  rect(0,0,largRect,altRect);
  fill(0);
  rect((largRect-altRect)*angulo/360,0,altRect,altRect);
}


float distanciaPP(int x1, int y1, int x2, int y2){
  return(sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
}

Nenhum comentário:

Postar um comentário