提取SVG外部路径的算法

6
我想提取A和B圆(或其他路径/形状)的外部路径(红线),并擦除所有内部线条,这样就只有一条路径(可能有点复杂)。是否有任何算法可以轻松实现这一点? circles (来源:candelalearning.com

“Extract”和“erase”是什么意思?您能更具体地说明您已经拥有什么以及您的问题是什么吗? - Passerby
我认为问题很清楚。我有两个圆,想要一个红色路径(见图像)。 - Bart Juriewicz
1
如果你有两个“虚拟”圆,需要绘制外部路径,那么我认为可以使用<path d="">来实现;但是如果你已经有了两个<circle>并且需要突出显示外部路径,我认为这很困难。这就是为什么我要问的原因。 - Passerby
我的问题是想要最小化CNC刀具路径,所以我猜这更像是突出显示两个圆的外部路径。 - Bart Juriewicz
1
你可以使用JavaScript库D3.js来计算你的两个圆的凸包。凸包中的顶点都在所需路径上。 - Axel Kemper
1个回答

11

您所寻找的术语是贝塞尔路径布尔运算,特别是在您所提出的情况下使用union(这应该有助于您进行谷歌搜索)。

Paper.js有一个JavaScript实现

您可以在此处查看示例

输入图像描述


现在互联网页面已经不存在了,所以正确的方式是从开发者网站 http://paperjs.org/download/ 下载库文件,解压缩后进入“examples\scripts”子文件夹,在浏览器中打开“BooleanIOperations.html”。然而,问题是:如果我只有一个(不像库中那样有两个)路径字符串,它代表一个复杂的内部形状,但我只想提取路径的外部部分,是否有算法/库可以实现? - DDRRSS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接