segunda-feira, 28 de abril de 2014

Criando n poligonos regulares

Esse exercício é criar uma função onde seja possível desenhar um polígono regular no centro da tela e com a quantidade de lados que seja desejado.



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
int largura = 500;    //largura da tela
int altura = 500;     //altura da tela
void setup()
{
   size(largura,altura);
  desenhaForma(150,200); 
}


void draw()
{
  
 
}
//Função que retorna o eixo x de uma coordenada polar em relação an centro da tela
float polarX(float angulo, float raio)
{
  
  float x = raio * (cos(radians(angulo)));
  return x + largura/2;
}

//Função que retorna o eixo y de uma coordenada polar em relação an centro da tela
float polarY(float angulo, float raio)
{
 float y = raio * (sin(radians(angulo))); 
 return y + altura/2;
}


//Função que desenha os lados dos poligonos utlizando o valor retornado pelas funções polarX e polarY
void desenhaForma(int numLado,int raio)
{
  //incremento é o intervalo em angulos das "fatias" do poligono
  float incremento = 360/numLado;
  for(int i = 0; i < 360; i+=incremento)
  {
    line(polarX(i,raio),polarY(i,raio),polarX(i+incremento, raio),polarY(i+incremento, raio));   
  }
}

Nenhum comentário:

Postar um comentário