Hãy nhìn vào bức tranh này:Làm thế nào để vẽ chỉ phần này của vòng cung?
Tôi biết p1, p2, và trung tâm, đó là điểm 2d. Tôi cũng biết góc p1-center-p2 và bán kính r.
Làm cách nào tôi có thể vẽ chỉ phần được lấp đầy của cung bằng cách sử dụng vòng tròn hàm của canvas()?
EDIT
Những gì tôi thực sự cần phải làm là, cho 2 điểm và một góc, vẽ một đường cong giữa 2 điểm mà góc p1-center-p2 là góc nhất định.
Điều tôi làm là tính trung tâm và bán kính của chu vi có 2 điểm trong đó và bây giờ tôi cần vẽ đường thẳng nối p1 và p2 và có góc đã cho. Đây là chức năng của tôi để tính toán trung tâm của circunference (mà hoạt động đúng)
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];
}
Nhưng tôi có những thứ khác rút ra mà tôi không muốn xóa – Ivan
Những gì tôi thực sự cần là một cái gì đó như: moveTo (p1) arcTo (p2, bán kính) – Ivan
này dường như không có tác dụng khi p1 có thành phần x khác với p2: http://i.imgur.com/AKpgv.png – Ivan