segunda-feira, 1 de fevereiro de 2016

Fazer um polígono com qualquer número de lados

Dentre as atividades passadas para serem feitas e postadas neste blog, foi pedido que fosse produzido uma função no Processing que recebesse um número e retornasse um polígono com o número de lados relativo ao número que foi recebido.

Para a produção deste polígono, consideramos como base uma circunferência. Na produção deste polígono, temos que considerar que cada ângulo em radianos formado entre os lados deste polígono é referente a divisão de 2*PI radianos e o número de lados deste polígono.

Em seguida, é feito um laço que produz linhas que conectam os vértices do polígono. Para a coordenada X é considerado o cosseno do ângulo e para a coordenada Y é considerado o seno do ângulo.

O código comentado pode ser visto abaixo.

//raio da circunferência
int raio = 200;
//número de lados do polígono
int lados = 6;

void setup(){
  size(600,600);
  //ângulo do lado interno do polígono
  float ang = 2*PI/lados;
  /*circunferência que serve de base, retire o comentário
  para ver a circunferência ao executar o código*/
  //ellipse(width/2,height/2,2*raio,2*raio);
  //cálculo do local que fica cada vértice do polígono
  for (int i =0;i<lados;i++){
    line(width/2+raio*cos(i*ang),height/2 + raio*sin(i*ang), width/2 + raio*cos((i+1)*ang),height/2 + raio*sin((i+1)*ang));
  }
}


Nenhum comentário:

Postar um comentário