看看這張照片:如何僅繪製這部分弧線?
我知道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