轮廓矢量形状算法

时间:2011-03-20 23:56:22

标签: algorithm vector-graphics

将红线视为一系列点

enter image description here

我正在寻找一种算法来创建粗黑色形状的轮廓(也作为一系列点),以便它们可以干净地排序。轮廓也应该尊重与自身的最小距离。

我可以用什么算法来实现这个目标?

1 个答案:

答案 0 :(得分:2)

您需要两种offsetting algorithms

  1. 在两个方向偏移曲线以产生曲目
  2. 向内偏移闭合曲线以生成一个或多个较小的闭合多边形。
  3. 设r是红线的距离,b是黑线/轨道之间所需的墙壁厚度。

    • 使用算法1将红线偏移。这可能会产生一条与自身重叠的轨道,即具有“类似blob”的区域。
    • 使用算法2向内偏移红线。使用二进制搜索找到形状分割成两个或消失的距离d。如果d> b,然后向内偏移d-b以产生第二个区域。否则算法失败。
    • 从第一个区域中减去第二个区域。