這是我的jsfiddle:讓半圈多橢圓
http://jsfiddle.net/c4upM/103/
我有灰色的弧形和藍色/綠色弧線。
我試圖讓他們更橢圓型,如:
,我沒有成功。
我讀這一個:http://jsbin.com/ovuret/2/edit,並試圖使我的jsfiddle,但我沒有成功,因爲圓弧-S在功能繪:DrawCircle
和DrawEllipseForProjection
。 有兩個功能:blueArc
和grayarc
。通過radian angle
,函數circleInArc
中有一個計算,它將圓弧中的小的淺藍色圓圈和小灰色圓圈(當您將鼠標懸停在畫布上時)放置在圓弧中。
我希望這些功能在更改後工作,但我沒有成功。
這些都是藍色和灰色圓弧S:
function grayArc(strokeColor, cx, cy, radius, ctx, linewidth) {
ctx.beginPath();
ctx.arc(cx, cy, radius, Math.PI, Math.PI * 2);
ctx.lineWidth = linewidth;
ctx.strokeStyle = strokeColor;
ctx.stroke();
}
function blueArc(strokeColor, radianStart, radianEnd, cx, cy, radius, ctx, linewidth) {
ctx.beginPath();
ctx.arc(cx, cy, radius, radianStart, radianEnd);
ctx.lineWidth = linewidth;
ctx.strokeStyle = strokeColor;
ctx.stroke();
}
,這是circleInArc
功能:
function circleInArc(fillColor, radianAngle, cx, cy, radius, ctx, linewidth) {
var x = cx + radius * Math.cos(radianAngle);
var y = cy + radius * Math.sin(radianAngle);
ctx.beginPath();
ctx.arc(x, y, linewidth/2, 0, Math.PI * 2);
ctx.closePath();
ctx.fillStyle = fillColor;
ctx.fill();
return ({
x: x,
y: y,
radius: linewidth/2
});
}
任何幫助表示讚賞!