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();
}