function cerchio(spessore,colore,centroX,centroY,raggio){ var angolo; var circonferenza=""; var puntoX, puntoY traccia=function(){ for(angolo=0;angolo<=360;angolo+=.5){ puntoX=centroX+raggio*Math.cos(angolo*180/Math.PI) puntoY=centroY+raggio*Math.sin(angolo*180/Math.PI) circonferenza+="" } document.body.innerHTML+=circonferenza; } traccia.call(); } function rettaPerPunti(colore,x1,y1,x2,y2){ var linea=""; var lunghezza; function traccia(){ lunghezza=Math.sqrt(Math.pow((x2-x1),2)+Math.pow((y2-y1),2)); angolo=Math.atan((y2-y1)/(x2-x1)); for(var n=0;n<=lunghezza;n++){ linea+="" } document.body.innerHTML+=linea; } traccia.call(); } function linea(nomeLinea,spessore,colore,orgX,orgY,lunghezza,angolo) { var velAng; var intervallo; var linea=""; var questo=this; this.disegna=function(){ for (var n=0;n<=lunghezza;n++){ linea+=""; } document.body.innerHTML+=linea; } this.disegna.call(); this.step=function(){ for(var n=0;n<=lunghezza;n++){ document.getElementById(nomeLinea+n).style.left=orgX+(n*Math.cos(angolo*Math.PI/180)); document.getElementById(nomeLinea+n).style.top=orgY+(n*Math.sin(angolo*Math.PI/180)); } angolo+=velAng; } this.ruota=function(velocitaAngolare,tempo){ velAng=velocitaAngolare; setInterval(function(){questo.step()},tempo); } }
Ed ecco un "orologio", che in verità su Firefox risulta piuttosto preciso:
<script src="geometria.js"></script> <script> function azione(){ var miaLinea=new linea("mia",3,"red",300,300,300,-90); miaLinea.ruota(6,1000); cerchio(3,"blue",300,300,300); } </script> <body onLoad="azione()"> </body>Ecco la pagina
Nessun commento:
Posta un commento