私は400x300のHTMLキャンバスを持っており、円と7つの三角形を使って太陽を描こうとしています。三角形を描くには、this SO Answerに示すように、翻訳、回転、翻訳を行います。しかし、三角形の一部は、同じ角度を持つかのように重なります。重なりのない中心点を中心に三角を回転する
http://codepen.io/ralrom/pen/bgZYRO
私が間違っているかを把握することはできません、私は計算ラジアンをチェックし、0と2 * PIの間に彼らはすべての秋。
var drawSun = function() {
// Circle
context.beginPath();
context.arc(75, 75, 30, 0, Math.PI * 2, true);
context.closePath();
context.fill();
context.save();
// Triangles
for (var i = 0; i < 7; i++) {
// Rotate the canvas around a point
angle = i * 360/7;
console.log(angle, angle * Math.PI/180);
context.translate(75, 75);
context.rotate(angle * Math.PI/180);
context.translate(-75, -75);
// Draw the triangle
context.beginPath();
context.fillStyle = 'rgba(0,0,0,0.5)';
context.moveTo(60, 35);
context.lineTo(75, 15);
context.lineTo(90, 35);
context.closePath();
context.fill();
context.restore();
}
}