看看这张照片:如何仅绘制这部分弧线?
我知道P1,P2和中心,这是2D点。 我也知道角度p1-center-p2和半径r。
如何使用画布'function arc()绘制圆弧的填充部分?
编辑
我真正需要做的是,给定2点和角度,画这2点之间的曲线,使得P1中心-P2角度是给定角度。
我所做的是计算圆心的中心和半径,其中有2个点,现在我需要绘制连接p1和p2并具有给定角度的直线。 这是我的函数来计算circunference中心(其中正常工作)
function getCenter(v0x, v0y, v1x, v1y, curve) {
// result = p0
resx = parseFloat(v0x);
resy = parseFloat(v0y);
// tmpvec = (p1 - p0) * .5
tmpx = (v1x - v0x)/2;
tmpy = (v1y - v0y)/2;
// result += tmpvec
resx = resx + tmpx;
resy = resy + tmpy;
// rotate 90 tmpvec
tmptmpx = tmpx;
tmptmpy = tmpy;
tmpy = -tmptmpx;
tmpx = tmptmpy;
// tmpvec *= 1/tan(c/2)
tmpx *= 1/Math.tan(curve/2);
tmpy *= 1/Math.tan(curve/2);
// return res + tmpvec
return [resx+tmpx, resy+tmpy];
}
但我有画其他的东西,我不希望删除 – Ivan
我真正需要的是一样的东西: 的moveTo(P1) 包含arcTo(P2,半径) – Ivan
这似乎并不P1时,必须工作比P2不同的x分量:http://i.imgur.com/AKpgv.png – Ivan