【问题标题】:SVG Elliptical Arc with D3?带 D3 的 SVG 椭圆弧?
【发布时间】:2015-08-06 07:44:25
【问题描述】:

最近我用 D3 编写了一个项目,所以我需要一个带有 innerRadiusouterRadius 的椭圆弧。但是我不知道如何绘制椭圆弧。我必须提到的一点是圆弧与椭圆弧不同,圆弧将仅以可能为innerRadiusouterRadius 的半径绘制,但是椭圆弧有两个半径rx , ry ,可以是innerRadiusXouterRadiusXinnerRadiusYouterRadiusY,实际上我想用d3.svg.arc()绘制一个椭圆,所有arc函数细节如@ 987654333@ 和endAngle。我不知道有没有办法用这些属性来绘制它:

attr={cx:20 , cy:20 , innerRadiusX:100 , outerRadiusX: 200 ,
       innerRadiusY:50,outerRadiusY:100,startAngel:0.5*Math.PI , endAngle: 1.5*Math.PI }

【问题讨论】:

标签: javascript svg d3.js


【解决方案1】:

如果我正确理解你想要什么,我认为你可以使用 SVG 路径。 DashingD3 对此有很好的解释 there

W3 然后提供了一个关于笔和纸的类比,大致如下: 想象一支笔放在一张纸上。笔会碰到 纸上只有一点。笔现在移动到另一个点。这 两点之间的路径可以是直线或曲线。这 曲线可以是圆弧、三次贝塞尔曲线或二次贝塞尔曲线。 这意味着您可以使用 SVG 路径来制作任何类型的 SVG 形状。

参见“曲线”。 是你要找的吗?

【讨论】:

  • 谢谢你亲爱的 laugri,在阅读了你的参考资料后,我意识到我必须实现我自己的函数来创建一个椭圆弧,正如它所提到的。在这种情况下,我必须使用椭圆弧路径 d 值。再次感谢您。
  • 是否有任何实现的函数返回椭圆弧,如圆弧?