Como desenhar um polígono regular com n lados?

4 respostas
B

Olá. Estou desenvolvendo uma espécie de paint em Java e preciso desenhar um polígono regular que tenha um numero “n” de lados que o usuário escolhe.
Peço para o usuário clicar no local que ele quer que seja o centro do polígono e onde ele quer que termine o polígono, formando assim um raio, que vai do centro até um vértice do polígono. Esse seria o primeiro vértice do polígono (centro+raio), gostaria de saber como faço para calcular os outros vértices desse polígono.

Obrigado!

4 Respostas

D

Olá

  1. Calcule o angulo do primeiro vertice em relação ao eixo x, para isso determine o seno, o cosseno ou a tangente do angulo formado, e depois use o Math.acos, Math.asin ou Math.atan dependendo de qual vc escolheu para calcular.
  2. Divida o “circulo” em partes 2PI / n, se estiver em graus 360 / n
  3. Somando uma parte com o angulo do primeiro vertice vc terá o angulo do segundo vertice V2 em relação ao eixo x
  4. O calculo para o x de V2 é (centro.x + raio * Math.cos(anguloV2)) para o y é semelhante
  5. Deve ser repetido n-1 vezes
B

Muito obrigado! Apenas mais uma pergunta, quando diz “o ângulo onde termina”, seria , por exemplo, este indicado em vermelho ou o em verde(central)?

D

Me refiro ao angulo do primeiro vertice (aquele clicado pelo usuario) em relaçao ao eixo x, portanto o q está em laranja, o verde seria a “parte” (2PI/n) q deve ser adicionado ao primeiro (que está em laranja) para encontrar o vertice seguinte V2, se adicionado novamente encontrará o V3.


S

maligno sendo maligno

Criado 30 de abril de 2016
Ultima resposta 9 de mai. de 2016
Respostas 4
Participantes 3