Você percebe o quanto Matemática te traumatizou quando chega a época do Natal, começa a tocar Jinggle bells e ce já ta motando a tabela de seno, cosseno e tangente na cabeça automaticamente quando escuta.
seen from Australia
seen from China
seen from Puerto Rico
seen from Malaysia

seen from United States
seen from United States
seen from Canada

seen from Malaysia

seen from United States
seen from China
seen from United States
seen from United States
seen from China

seen from United States
seen from China

seen from United States
seen from Kazakhstan
seen from China
seen from China
seen from China
Você percebe o quanto Matemática te traumatizou quando chega a época do Natal, começa a tocar Jinggle bells e ce já ta motando a tabela de seno, cosseno e tangente na cabeça automaticamente quando escuta.
Desenhando Polígonos Regulares Versao II
O que diferencia esse código do outro é a complexidade e ao mesmo tempo a praticidade visto que o processo é o mesmo porém com o uso de vetores para guardar os pontos. Aqui novas maneiras de manipulação de valores são empregadas: funções que recebem vetores, funções que retornam vetores, recebimento de variáveis vetores por outros vetores...
float raio = 100; float angulo; int faces=7; float[] x = new float[faces]; //crio um vetor para os pontos x com tamanho relativo a quantidade de faces float[] y = new float[faces]; //mesmo que o de cima sendo que para o eixo y float convertido;
void setup() { size(600, 600); background(232,74,95); }
void draw() {
angulo = radians(360/faces); //conversão para radianos e preservação do valor de angulo original convertido = angulo; //convertido será o valor do angulo incrementado mais na frente for (int i=0;i<faces;i++){ //laço para atribuir valores em ordem aos indicies dos vetores x[i]=polarX(raio, convertido); //calcula coordenada polar
y[i]=polarY(raio,convertido); //calcula coordenada polar
convertido += angulo; //incrementa angulo } stroke(254,206,168); strokeWeight(4); for(int i=1; i<faces; i++){ line(x[i-1]+300,y[i-1]+300, x[i]+300, y[i]+300); //descarrego vetores desenhando linhas e transladando pontos } line(x[faces-1]+300, y[faces-1]+300,x[0]+300, y[0]+300); }
float polarY(float r, float ang){ float pontoY = r*sin(ang)*-1; return pontoY; } float polarX(float r, float ang){ float pontoX = r*cos(ang); return pontoX; }
Background Pulsante em Seno
float amplitude = 100; float angulo = 0; float y,b;
void setup() { size(400, 400); background(255,0,0);
}
void draw() { for (int i = 0; i <= 10; i+=1){ y = (sin(angulo)*amplitude)+200; //calcula a função seno b = (cos(angulo)*amplitude)+200; //calcula a função cosseno background(b, 0, 0); //pinta o background variando o R em função de seno ou cosseno. angulo += 0.003; textSize(32); text ("CORAÇÃO", 120, 200); fill(255); } }
Gráficos da Função Seno e Cosseno
float amplitude = 50; float angulo = 0;
void setup() { size(640, 360); background(0); //definição da legenda fill(#FF531A); rect(10, 10, 15, 5); text ("onda senoide", 30, 15); fill(#26D4C6); rect(10, 30, 15, 5); text ("onda cossenoide", 30, 35); fill(255); noStroke(); for (int i = 0; i <= width; i+=1){ ellipse(i, 200, 2, 2); } }
void draw() { noStroke(); float x = angulo*30; //multiplicar por um valor aumenta o período dessa onda (comprimento de onda) float y = (sin(angulo)*amplitude)+200; //somar 200 serve para transladar o valor para o meio da tela float a = angulo*30; float b = (cos(angulo)*amplitude)+200; fill(#FF531A); ellipse( x, y, 5, 5); //a bola é redesenhada em uma nova posição baseada no novo seno/cosseno do novo angulo fill(#26D4C6); ellipse( a, b, 5, 5); angulo += 0.09; //a frequencia com que a bolinha é espaçada e se move desenhando a onda (velocidade do desenho)
}
Aprenda coisas chatas de matemática cantando.
Seno,cosseno e tangente.Fácil,rápido e divertido!