Ik was bezig met een klein projectje om mijn wiskunde weer een beetje op te halen en heb onderstaande code geschreven om een mooi spiraal te genereren. Nu loop ik alleen tegen een probleem aan als ik de rotations hoger zet als 13 en de browser het erg zwaar heeft om het weer te geven. Nu klopt de code zelf volgens mij wel maar ik heb het gevoel dat hij alles wil uitwerken tijdens het laden van de pagina en dan in 1 keer de spiraal wil tekenen. Weet iemand of het mogelijk is om het tekenen direct te doen zodat als ik hem heel hoog zet hij gewoon klein begint en gewoon door blijft tekenen zonder dat m'n browser over de zeik gaat ?
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| <!DOCTYPE html> <html> <head> <title>Spiral test</title> <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> <script type="text/javascript"> $(document).ready(function() { var rotations = 10; var spread = 5; var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.moveTo(300,200); for(var c = 1; c <= rotations; c++) { var steps = Math.pow(2,c); var step = 0; for (var n = Math.pow(2, c); n < Math.pow(2,c+1); n++ ) { var radius = ( (c - 1) * spread) + ( (spread / steps) * step); var radian = ( ( Math.PI * 2) / steps) * step *-1; var x = Math.round(radius * Math.cos(radian), 0); var y = Math.round(radius * Math.sin(radian), 0 ); ctx.lineTo(x+300, y+200); ctx.stroke(); step++; } } }); </script> </head> <body> <canvas id="myCanvas" width="600" height="400" style="border:1px solid #c3c3c3;"></canvas> </body> </html> |
Little known fact about Middle Earth: The Hobbits had a very sophisticated computer network! It was a Tolkien Ring...