Le Harmonógrafo - Bônus
Depois de vocês terem acompanhado o processo de criação do harmonógrafo nos três posts anteriores, eis aqui uma versão modificada. A lógica é a mesma mas agora as variáveis estão com nomes que podem ajudar a compreender o que de fato está em jogo e é possível ser modificado e também tentar fazer mais sentido o porquê de quando se altera determinado valor mesmo que mínimo o resultado é completamente diferente.
float angulopuro=radians(45); ///converte graus para radianos float ar2=angulopuro; //variável de angulo que será alterada float ar3=angulopuro; //variável de angulo que será alterada float m=100; //varia o eixo da oscilação em função de seno ou cosseno float m2; //varia o eixo da oscilação em função de seno ou cosseno float c=1; //contador responsável por decrementar e fazer o pendulo perder a força int diametro = 2; float x, y; float enlouquecendo = 100; //ela tem como função reduzir o tamanho mas...como ela é usada na multiplicaçao, mudar seu valor muda tambem a forma do desenho float deualoca = 0.01; //tem q ser menor que 0.1 para conseguir um efeito bacana float piroudevez = 0.01; //tem q ser menor que 0.1 para conseguir um efeito bacana
void setup(){ size (600,600); background (68,30,53); } void draw(){ x = sin(angulopuro)*(m2*c)+300+(cos(angulopuro)*enlouquecendo*c); y = sin(angulopuro)*(m*c)+300+(sin(angulopuro)*enlouquecendo*c); fill(255,35,107); noStroke(); ellipse( x, y, diametro, diametro); angulopuro = angulopuro + 0.05; // quantidade de bolinhas que sao desenhadas m=sin(ar2)*100; ar2=ar2+deualoca; //maneira de incrementar o angulo para variar a posição do desenho das linhas e não ficar sempre no mesmo trajeto m2=cos(ar3)*100; ar3=ar3+piroudevez; //maneira de incrementar o angulo para variar a posição do desenho das linhas e não ficar sempre no mesmo trajeto if(c>0){ c=c-0.0001; //quantidade de voltas ou linhas } else{ c=0; }
}
mudando as variáveis você consegue efeitos como esses abaixo:











