首页 > 代码库 > 太阳八大行星运行轨迹

太阳八大行星运行轨迹

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title></head><body>    <canvas width="1000" height="1000" id="canvas" style="background: black">        您的当前浏览器版本不支持canvas标签    </canvas>    <script type="text/javascript">    //获取canvas元素    var canvas=document.getElementById("canvas");    //设置2d绘图环境    var cxt=canvas.getContext("2d");    var time=0;    function draw(){        //清除画布        cxt.clearRect(0,0,1000,1000);        //轨道        for (var i = 0; i < 8; i++) {            cxt.beginPath();            cxt.strokeStyle="#fff";            cxt.arc(500,500,50*(i+1),0,360,false);            cxt.closePath();            cxt.stroke();        };        //太阳        cxt.beginPath();        var sunColor=cxt.createRadialGradient(500,500,0,500,500,20);        sunColor.addColorStop(0,"#f00");        sunColor.addColorStop(1,"#f90");        cxt.fillStyle=sunColor;        cxt.arc(500,500,20,0,360,false);        cxt.closePath();        cxt.fill();        //画地球        cxt.save();        //设置异次元空间的原点        cxt.translate(500,500);        //设置旋转角度        cxt.rotate(time*360/365*Math.PI/180);        cxt.beginPath();        var earthColor=cxt.createRadialGradient(0,-150,0,0,-150,10);        earthColor.addColorStop(0,"#78B1E1");        earthColor.addColorStop(1,"#050C12");        cxt.fillStyle=earthColor;        cxt.arc(0,-150,10,0,360,false);        cxt.closePath();        cxt.fill();        cxt.restore();        //画水星        cxt.save();        //设置异次元空间的原点        cxt.translate(500,500);        //设置旋转角度        cxt.rotate(time*360/88*Math.PI/180);        cxt.beginPath();        var mercuryColor=cxt.createRadialGradient(0,-50,0,0,-50,10);        mercuryColor.addColorStop(0,"#A69697");        mercuryColor.addColorStop(1,"#5C3E40");        cxt.fillStyle=mercuryColor;        cxt.arc(0,-50,10,0,360,false);        cxt.closePath();        cxt.fill();        cxt.restore();        //画金星        cxt.save();        //设置异次元空间的原点        cxt.translate(500,500);        //设置旋转角度        cxt.rotate(time*360/225*Math.PI/180);        cxt.beginPath();        var venusColor=cxt.createRadialGradient(0,-100,0,0,-100,10);        venusColor.addColorStop(0,"#C4BBAC");        venusColor.addColorStop(1,"#050C12");        cxt.fillStyle=venusColor;        cxt.arc(0,-100,10,0,360,false);        cxt.closePath();        cxt.fill();        cxt.restore();        //画火星        cxt.save();        //设置异次元空间的原点        cxt.translate(500,500);        //设置旋转角度        cxt.rotate(time*360/687*Math.PI/180);        cxt.beginPath();        var marsColor=cxt.createRadialGradient(0,-200,0,0,-200,10);        marsColor.addColorStop(0,"#CEC9B6");        marsColor.addColorStop(1,"#76422D");        cxt.fillStyle=marsColor;        cxt.arc(0,-200,10,0,360,false);        cxt.closePath();        cxt.fill();        cxt.restore();        //画木星        cxt.save();        //设置异次元空间的原点        cxt.translate(500,500);        //设置旋转角度        cxt.rotate(time*360/4333*Math.PI/180);        cxt.beginPath();        var jupiterColor=cxt.createRadialGradient(0,-250,0,0,-250,10);        jupiterColor.addColorStop(0,"#C0A48E");        jupiterColor.addColorStop(1,"#322222");        cxt.fillStyle=jupiterColor;        cxt.arc(0,-250,10,0,360,false);        cxt.closePath();        cxt.fill();        cxt.restore();        //画土星        cxt.save();        //设置异次元空间的原点        cxt.translate(500,500);        //设置旋转角度        cxt.rotate(time*360/10759*Math.PI/180);        cxt.beginPath();        var saturnColor=cxt.createRadialGradient(0,-300,0,0,-300,10);        saturnColor.addColorStop(0,"#F7F9E3");        saturnColor.addColorStop(1,"#5C4533");        cxt.fillStyle=saturnColor;        cxt.arc(0,-300,10,0,360,false);        cxt.closePath();        cxt.fill();        cxt.restore();        //画天王星        cxt.save();        //设置异次元空间的原点        cxt.translate(500,500);        //设置旋转角度        cxt.rotate(time*360/30685*Math.PI/180);        cxt.beginPath();        var uranusColor=cxt.createRadialGradient(0,-350,0,0,-350,10);        uranusColor.addColorStop(0,"#A7E1E5");        uranusColor.addColorStop(1,"#19243A");        cxt.fillStyle=uranusColor;        cxt.arc(0,-350,10,0,360,false);        cxt.closePath();        cxt.fill();        cxt.restore();        //画海王星        cxt.save();        //设置异次元空间的原点        cxt.translate(500,500);        //设置旋转角度        cxt.rotate(time*360/60190*Math.PI/180);        cxt.beginPath();        var neptuneColor=cxt.createRadialGradient(0,-400,0,0,-400,10);        neptuneColor.addColorStop(0,"#0661B2");        neptuneColor.addColorStop(1,"#1E3B73");        cxt.fillStyle=neptuneColor;        cxt.arc(0,-400,10,0,360,false);        cxt.closePath();        cxt.fill();        cxt.restore();        time+=1;    }    //地球动起来        setInterval(draw,10);    </script></body></html>

技术分享

太阳八大行星运行轨迹