ATV 12
- Marcos André
- 18 de mai. de 2016
- 1 min de leitura
'Criar uma aplicação que desenha um polígono
regular centralizado na tela com a quantidade de
lados informada no próprio código. Discutir a solução
adotada em seu blog.'
Assumindo que desenharemos um polígono de 'n' lados que possui um distância ao centro chamada 'r',então, os 'n' vértices,posicionados no R2, serão dados por:
• X[n] = r * cosseno(2*pi/N)
• Y[n] = r * seno(2*pi/N)
Onde ângulo interno formado por cada vértice será dado pela divisão de 360° pelo número de lados do polígono:
• A=(2*pi*n/N)
No Processing, existe uma função chamada BeginShape(), que desenha uma figura qualquer baseada nos pontos p(x,y), fornecidos pelo programador.Então, se faz necessário determinar o Ângulo interno do polígono e depois a localização dos seus n vértices.Assim, podemos a partir do número de lados fornecidos, desenhar o polígono regular correspondente.Segue o código:
void ConstroiPoligono(float raio, int NVertices) { float Angulo = TWO_PI / NVertices; beginShape(); for (float a = 0; a < TWO_PI; a += Angulo) { float Vx = cos(a) * raio; float Vy = sin(a) * raio; vertex(Vx, Vy); } endShape(CLOSE); }
int NLados=7; //O número de lados
void setup(){ size(500,500); stroke(255); strokeWeight(3); noLoop(); }
void draw(){ translate(width/2,height/2); background(100); blendMode(OVERLAY); fill(150,200,100); ConstroiPoligono(100, NLados);}
Resultado:




Comments