腕を30度動かしてみました。
dr = 30;
yp = Math.sin(dr*(Math.PI/180));
xp = Math.cos(dr*(Math.PI/180));
yp1 = Math.sin((dr+180)*(Math.PI/180));
xp1 = Math.cos((dr+180)*(Math.PI/180));
(35,45)は、腕の付け根の中心。6は、半径。
sy = (6*yp1+45);
sx = (6*xp1+35);
sy1 = (6*yp+45);
sx1 = (6*xp+35);
6度を腕を細める。
y1 = 25*Math.sin((dr+90-6)*(Math.PI/180))+sy;
x1 = 25*Math.cos((dr+90-6)*(Math.PI/180))+sx;
y2 = 25*Math.sin((dr+90+6)*(Math.PI/180))+sy1;
x2 = 25*Math.cos((dr+90+6)*(Math.PI/180))+sx1;
wkcolor = 1;
ctx.beginPath();
// ctx.moveTo(29*mgf+dfsx,45*mgf+dfsy);
ctx.moveTo(sx*mgf+dfsx,sy*mgf+dfsy);
ctx.lineTo(sx1*mgf+dfsx,sy1*mgf+dfsy);
ctx.lineTo(x2*mgf+dfsx,y2*mgf+dfsy);
ctx.lineTo(x1*mgf+dfsx,y1*mgf+dfsy);
// ctx.lineTo(38*mgf+dfsx,70*mgf+dfsy);
// ctx.lineTo(32*mgf+dfsx,70*mgf+dfsy);
//全て座標を指定(腕上・右)多角形
ctx.closePath();
ctx.fillStyle = bordcolor[wkcolor];
ctx.fill();