código:
primeiro declara-se as variáveis que serão utilizadas e o tamanho da tela.
float x; float y; float sec; void setup(){ size(600,600); }
dentro da função draw(), está a variável sec, que irá receber o valor milisegundos dado pelo processing, e divindo por 1000 irá retornar o valor em segundos.
e a função cronometro é chamada, os atributos dela são o valor do ângulo utilizado e o raio da circunferência.
a função cronometro recebe como atributo o valor do angulo e o raio da circunferência, o ponto inicial do ponteiro é o angulo de 1,5PI, que é 270º no processing.
void draw(){ sec = (millis()/1000); println(sec); cronometro(PI+(PI/2),100); }a variável porce é utilizada para fazer a movimentação do ponteiro, para cada 15 segundos o ponteiro tem que percorrer 60º, ou seja, PI/2 radianos, se para cada meio segundo tenho PI/2, para 1 segundo tenho esse valor divido por 15, para cada 15% da ellipse deve-se percorrer o equivalente a PI/30 radianos.
depois estabelece-se as posições de x e y usando as funções cos e sin que irão receber o valor de ang + porcen, no caso ang é o valor do angulo inicial e porce é o angulo que ele vai percorrer, multiplicado pelo raio da circunferência.
cria-se uma ellipse e uma linha(ponteiro) para demonstrar o movimento.
void cronometro(float ang, float raio){ float porce = sec*(PI/30); x = (cos(ang+porce)*raio); y = (sin(ang+porce)*raio); ellipse(width/2,height/2,raio*2,raio*2); line(width/2,height/2,x+width/2,y+(height/2)); }
Resultado (Clique para ver funcionando) :
![]() |
| Adicionar legenda |


Nenhum comentário:
Postar um comentário