Javascript多边形旋转

Javascript多边形旋转,javascript,canvas,Javascript,Canvas,这是我的代码 var numberOfSides, angle = 0.2, num = 8, size = 100; numberOfSides = prompt("How many sides would you like on your polygon"); c.translate( 300,300); if (numberOfSides > 0) { c.beginPath(); //for (var j = 0 ; j <

这是我的代码

var numberOfSides,
    angle = 0.2,
    num = 8,
    size = 100;

numberOfSides = prompt("How many sides would you like on your polygon");

c.translate( 300,300);
if (numberOfSides > 0) {    
    c.beginPath();
    //for (var j = 0 ; j < num ; j ++ ){    
    c.lineTo(size * Math.cos(0),size * Math.sin(0));
    for (var j = 0 ; j < num ; j ++ ){  
        for (var i = 0; i <= numberOfSides; i ++) {
            c.lineTo(size * Math.cos(i * 2 * Math.PI / numberOfSides), size * Math.sin(i * 2 * Math.PI / numberOfSides));
    }
        c.rotate(angle);
    }

    c.strokeStyle = "#FF0000";
    c.lineWidth = 2;
    c.stroke();
    c.fillStyle = "#FF0000";
}
var numberOfSides,
角度=0.2,
num=8,
尺寸=100;
numberOfSides=prompt(“您希望多边形上有多少条边”);
c、 翻译(300300);
如果(numberOfSides>0){
c、 beginPath();
//对于(var j=0;j对于(var i=0;i以下是如何绘制旋转正多边形:

function drawPolygon(centerX,centerY,theAngle,sides){

    // save the untranslated & unrotated context state
    c.save();

    // translate and rotate the canvas
    c.translate(centerX,centerY);
    c.rotate(theAngle);

    // draw the regular polygon
    c.beginPath();
    c.lineTo(size * Math.cos(0),size * Math.sin(0));
    for (var i = 0; i <= sides; i ++) {
        c.lineTo(size * Math.cos(i * 2 * Math.PI / sides), size * Math.sin(i * 2 * Math.PI / sides));
    }
    c.stroke();

    // restore the context to its untranslated & unrotated state
    c.restore();    
}