Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Simples espiral em Canvas
- * jsfiddle.net/tmVK7/
- * email@brunodasilva.com
- */
- <canvas style="background-color:black" id='canvas' width=800 height=600></canvas>
- <script>
- cnv = document.getElementById('canvas').getContext('2d')
- cnv.fillStyle="white"
- // representar o tamanho máximo da tela onde movimenta os quadrados
- var w = 800
- var h = 600
- // tempo para cada frame
- var t = 1;
- // voltas da espiral
- v = 5;
- // escala inicial da espiral!
- e = 350
- // calcular o centro da espiral
- cx = w/2
- cy = h/2
- // número de pontos a ser escrito a cada volta da espiral
- p = 1000
- // ponto atual em que está sendo escrito
- a = 0;
- // Chamar função recursiva que vai executar o movimento dos quadrados
- executarMovimento()
- // Criando a função
- function executarMovimento() {
- // aumentar o ponto
- a ++;
- // verificar se todas voltas da espiral foram feitas
- if(a < p * v ) {
- // calcular o circulo a ser feito
- r = a / p* Math.PI * 2
- px = Math.cos(r)*e+cx
- py = Math.sin(r)*e+cy
- // desenhar o ponto
- cnv.fillRect(px,py,1,1);
- // diminuir a escala do circulo para formar a espiral a cada volta
- e -= (e/p);
- // cronometrar próxima volta da espiral
- setTimeout( executarMovimento , t);
- }
- }
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement