【问题标题】:Calculate size of a circle from arcs?从弧计算圆的大小?
【发布时间】:2011-05-18 09:04:41
【问题描述】:

如何根据一组弧计算圆的大小?

具体来说,我有这个绘制一个圆圈的 SVG 路径定义,我正在计算它的大小。

<path clip-path="url(#SVGID_2_)" fill="#99C44C" d="M334.293,56.846c0-4.782,3.88-8.659,8.665-8.659c4.78,0,8.66,3.877,8.66,8.659
    c0,4.783-3.88,8.661-8.66,8.661C338.173,65.507,334.293,61.629,334.293,56.846"/>

为了您的信息,圆圈是在“d”属性中绘制的。 M334.293,56.846移动到这个x,y位置,那么c指令就是曲线。

曲线:

使用 (x1,y1) 作为曲线起点的控制点和 (x2,y2) 作为曲线终点的控制点从当前点到 (x,y) 绘制三次贝塞尔曲线. C(大写)表示后面跟着绝对坐标; c(小写)表示将跟随相对坐标。

relative curves
c0-4.782,3.88-8.659,8.665-8.659
c4.78,0,8.66,3.877,8.66,8.659
c0,4.783-3.88,8.661-8.66,8.661

absolute curve
C338.173,65.507,334.293,61.629,334.293,56.846

【问题讨论】:

  • 那不是圈子。非常接近,但贝塞尔曲线无法准确传达圆。

标签: svg geometry shapes geometric-arc


【解决方案1】:

此时你有两种可能:

您可以将贝塞尔曲线视为一个圆(如评论所述,这是错误的;它只是看起来很圆)。要计算面积,请确定半径并照常使用π * r^2

如果你想大致计算一个路径元素所包围的面积;这需要一些适度的微积分,不适合胆小的人。

【讨论】:

  • 谢谢,我更喜欢第一个选项!你知道如何从圆弧中确定半径吗?
  • @OllieG:当这个“圆”被绘制时;你相对地向正 x 移动了两次;两次移动 8.66 个单位。很明显,半径确实是 8.66 个单位。 Y轴上的运动对应于此;并且始终为 8.66 个单位。
猜你喜欢
  • 2020-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-27
  • 1970-01-01
  • 2015-07-12
  • 1970-01-01
  • 2020-10-28
相关资源
最近更新 更多