带圆角的SVG路径为圆弧

时间:2013-11-11 16:19:28

标签: svg vector-graphics curve elliptic-curve geometric-arc

我需要创建带圆角的SVG路径,将它们导出到DXF进行切割。我的问题是角落应该是圆弧,而不是一些贝塞尔曲线。

使用arc命令使用直角相对容易,因为半径也是从角落到弧开始处的距离。从其他角度来看,它更复杂。

是否有公式来计算给定拐角和半径的圆弧的起点和终点?

enter image description here

右上角很容易,但左下角非常棘手,因为我必须找出线必须在哪里结束并开始弧。

我找到了calculationg with a svg eliptical arc,它链接了一个公式,将终点转换为中心参数化。这没有用,因为我也不知道圆圈的中心在哪里。

How to calculate the SVG Path for an arc (of a circle)只计算弧线,而不是两条线之间的圆弧代替尖角。

Rounded corners on triangle in SVG中的解决方案仅在某些边与坐标系平行或改变半径时才起作用。

Applying rounded corners to paths/polygons尝试使用linejoin或几条立方曲线的一些技巧,我想要什么。

即使我使用圆圈来创建这个形状,即使是Inkscape(我以前用于绘制上面的图像)也使用5个立方曲线而不是弧形。

如果你有一些提示我如何处理这个问题,我将非常感激。

1 个答案:

答案 0 :(得分:6)

倒角的几何形状如下所示:

geometry of a chamfered corner

角度 ABC 等于θ(倒角的外角)。这被 BD 一分为二,因此角度 DBC 等于θ / 2。这意味着从角落到 C A 的偏移距离 d 等于 r ×tan(< EM>θ / 2)。

对于直角,θ = 90°且tan(θ / 2)= 1,因此 d 等于 - [R

正如Robert Longson所说,你很幸运能找到一个使用圆弧段导出倒角的SVG应用程序。但是,通过一些努力,应该可以以编程方式检测和转换它们。