A proposta da atividade atual consiste em, empregando a função rotate(), criar uma aplicação que desenha um polígono regular centralizado na tela com a quantidade de lados informada no próprio código.
Primeiramente, para criar o polígono eu criei a função slice(), que retorna um float com o ângulo que as fatias do meu polígono vai ter. Depois criei uma variável chamada ang, que vai chamar a função slice() e passar um número de quantidade de fatias, que no caso é a variável num, que está inicialmente definida como 4.
Após isso, eu criei um for no draw, que desenha o polígono através da função triangle( ), onde eu passo os valores do pontos do triângulo (0, 0, cos(ang)*250, sin(ang)*250, cos(ang*2)*250, sin(ang*2)*250). No caso, os valores cos(ang)*250, sin(ang)*250 representam as coordenadas x e y do meu segundo ponto, e o cos(ang*2)*250, sin(ang*2)*250 as coordenadas do meu terceiro ponto. Para que esse for desenhe todos os triângulos do meu polígono centralizado e tomando com base os pontos (0,0) como centro do mesmo, eu usei as funções rotate( ) e translate( ). A primeira função para girar os triângulos em torno do eixo do ponto (0,0) e a segunda para deslocar a posição inicial da tela (0,0) para o centro da tela (300, 300).
|
Resultado 01 |
|
Resultado 02 |
|
Resultado 03 |
Usar a função rotate( ) para fazer polígonos girarem é menos trabalhoso do que por exemplo fazer cada ponto do polígono variar seu valor para que tenha o mesmo efeito visual de uma rotação, como visto em uma das aulas de MAMI. Isso poupa bastante tempo de implementação, e sem contar que deixa o código melhor também.
DESCRIÇÃO