Esercizio Rings in Three.js

Ho visto questa ipnotica gif animata sulla pagina facebook di Art & Graphic Design e, considerato che ho appena studiato le forme bidimensionali su Learning Three.js: The JavaScript 3D Library for WebGL di Jos Dirksen mi ha fatto da spunto per esercitarmi in three.js.
La generazione degli anelli è fatta con questo codice, che permette la quantità, lo spessore e la distanza tra di essi:

var quanti = 16; var spessore = 1; var distanza = 0.1; for(i=1;i<=quanti;i++){ outerRadius = (i*spessore)+(i*distanza); innerRadius = (i*spessore)-spessore+(i*distanza); var ringGeom = new THREE.RingGeometry(outerRadius,innerRadius,48,1,0.5*Math.PI, Math.PI); var ring = new THREE.Mesh(ringGeom, ringMaterial); ring.rotation.x = Math.PI/2; ring.name = "ring"+i; scene.add(ring); }

L'animazione invece, può essere fermata e rallentata,  ed è gestita così:

function renderScene(){ if(!controls.stopMoving){ multiplier=1; scene.traverse(function(mesh){ if(mesh instanceof THREE.Mesh && mesh != plane){ mesh.rotation.z += (controls.vel/1000*multiplier); multiplier++; } }); } requestAnimationFrame(renderScene); renderer.render(scene, camera); } }