Javascript 如何创建一个内部有三角形的画布圆?

Javascript 如何创建一个内部有三角形的画布圆?,javascript,canvas,Javascript,Canvas,我想创建一个带有圆圈的画布,圆圈内应该是一个三角形。我知道如何画一个简单的圆(下图),但如何画三角形呢 var canvas = document.getElementById("myCanvas"); var context = canvas.getContext("2d"); context.beginPath(); context.arc(75,100,55,0,2 * Math.PI); context.stroke(); 在调用stroke context.moveTo(75,75)

我想创建一个带有圆圈的画布,圆圈内应该是一个三角形。我知道如何画一个简单的圆(下图),但如何画三角形呢

var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
context.beginPath();
context.arc(75,100,55,0,2 * Math.PI);
context.stroke();

在调用
stroke

context.moveTo(75,75);
context.lineTo(100, 100);
context.lineTo(25,150);
context.lineTo(75,75);

它是从圆环中出来的一点,但是你明白了。

为了在圆内画一个三角形,你需要计算顶点的位置。假设三角形是等边的,顶点之间的角度为120度或2*Math.PI/3:

var canvas=document.getElementById(“myCanvas”);
var context=canvas.getContext(“2d”);
设cw=canvas.width=300;//画布的宽度
设ch=canvas.height=300;//画布的高度
设c={//圆:圆心和半径的坐标
x:75,y:100,r:55
}
设角度=(2*Math.PI)/3;//顶点之间的角度
点数=[];//顶点数组
for(设i=0;i<3;i++){
设o={}
o、 x=c.x+c.r*数学cos(i*角度);
o、 y=c.y+c.r*数学sin(i*角度);
点。推(o);
}
//画圆圈
context.beginPath();
弧(c.x,c.y,c.r,0,2*Math.PI);
stroke();
//画三角形
context.beginPath();
context.moveTo(点[0].x,点[0].y);
for(设i=1;i
canvas{border:1px solid}

@pordix是的,我想是的,但我需要更多的细节。圆圈应该围绕什么旋转。请再问一个问题,并说明所有细节。我很乐意帮忙。