terça-feira, 8 de abril de 2014

Polígono regulares com Coordenadas Polares

Nesta aula a atividade foi proposta foi fazer um algoritmo para desenhar um polígono regular centralizado na tela com quantidade de lados informada no próprio código. 

//Declaração de Variáveis
  int lados = 5;
  float raio = 100;
  float angulo = 45;
  
  float x[] = new float[lados+1];
  float y[] = new float[lados+1];

void setup(){
size(400,400);
background(255);
strokeWeight(1);

}
    
void draw(){
  background(255);
  
  //desenhar Grade
  line(0,height/2,width,height/2);
  line(width/2, 0 , width/2, height);
  
  //loop responsável por preencher os vetores 
  //que armazenam os pontos X e Y que formaram o polígono
  for(int circunf = 0;circunf < lados; circunf +=1){
        
        //cálculo do ponto X com o uso de coordenadas polares
        //posição x = raio * cos(angulo)    
        x[circunf] = 200 + cos(radians(angulo))*raio; 
        //cálculo do ponto Y com o uso de coordenadas polares
        //posição Y = raio * sen(angulo)  
        y[circunf] = 200 - sin(radians(angulo))*raio;
 
        // o valor do ângulo é calculado em função
        //do número de lados
        angulo += 360/lados;
 }
 //a última posição do vetor, recebe o primeiro
 //valor novamente, já que esse valor se repete
 //na formação da última linha
 x[lados]=x[0];
 y[lados]=y[0];
 
 //loop que monta o polígono utilizando os valores
 //armazenados anteriormente
 for(int i = 0; i<lados; i+=1){
    line(x[i],y[i] , x[i+1], y[i+1]);  
 }
 
 
}


Nenhum comentário:

Postar um comentário