我想要點擊retacgle,在圓圈周圍繪製一個三角形。<html5>圍繞圓圈畫三角形
源代碼是這樣的...
但是,三角並不好每個位置..
怎樣繪製周圍像附加的圖像圓三角形...
http://i.stack.imgur.com/hccCQ.jpg
....
....
ost = 30515;
oen = 31570;
//ost = 74147;
//oen = 75664;
color="255,0,0";
av = (ost+oen) /2 ;
x1 = centerX-radius*Math.sin(-arg*av);
y1 = centerY-radius*Math.cos(-arg*av);
x2 = centerX-radius*Math.sin(-arg*av)*1.07;
y2 = centerY-radius*Math.cos(-arg*av)*1.07;
var s={x1:x1,y1:y1,x2:x2,y2:y2};
triShape(s,color,true);
...
...
//繪製由retacgle圓圈
function Shape_sub(s, k, color, draw){
ctx_sub.save();
//ctx_sub.rotate(Math.PI * 2/12);
ctx_sub.fillStyle='rgb('+color+')';
ctx_sub.imageSmoothingEnabled = true;
ctx_sub.beginPath();
ctx_sub.moveTo(s.x1,s.y1);
ctx_sub.lineTo(s.x2,s.y2);
ctx_sub.lineTo(s.x3,s.y3);
ctx_sub.lineTo(s.x4,s.y4);
ctx_sub.lineTo(s.x1,s.y1);
if(draw){
ctx_sub.fill();
ctx_sub.stroke();
}
ctx_sub.restore();
}
//繪製圍繞圓的三角形 - >但不運行....
function triShape(s,color,draw){
ctx_sub.save();
//ctx_sub.rotate(Math.PI * 2/12);
ctx_sub.fillStyle='rgb('+color+')';
ctx_sub.imageSmoothingEnabled = true;
ctx_sub.beginPath();
ctx_sub.moveTo(s.x1,s.y1);
ctx_sub.lineTo(s.x1,s.y1);
ctx_sub.lineTo(s.x2,s.y2);
if(draw){
ctx_sub.fill();
ctx_sub.stroke();
}
ctx_sub.restore();
}
..
....
你可以嘗試從三角形到圓心的一個點計算長度,保持旋轉的三角形,直到你找到最短距離。爲了定位三角形,只需搜索一個位置 – 2014-08-28 01:10:42