代码之家  ›  专栏  ›  技术社区  ›  Robin Rodricks

将连续点“跟踪”成贝塞尔曲线的算法

  •  5
  • Robin Rodricks  · 技术社区  · 16 年前

    我在x,y中有一个连续的点集合,我想把它们“追踪”到一组贝塞尔曲线中。是否可以使用任何开源位图到矢量跟踪算法或库?

    3 回复  |  直到 16 年前
        1
  •  3
  •   TJ Seabrooks    16 年前

    这取决于你想完成什么。如果你想看到“最佳拟合”曲线,或者至少是一个粗略的近似值,你应该使用B_样条曲线。B_样条曲线将在给定的点的“内部”进行拟合。对于所讨论的点,我通常使用catmull-rom样条,当给定的点1、2、3通过点2时,其坡度等于点1和3之间的坡度。

    样例代码: http://willperone.net/Code/spline.php

    算法说明: http://steve.hollasch.net/cgindex/curves/catmull-rom.html

        2
  •  1
  •   U62    16 年前

    如果希望曲线通过现有的点集,则需要使用逐段B样条曲线而不是贝塞尔曲线。

    网络上有很多这样做的代码。

        3
  •  0
  •   Mike 'Pomax' Kamermans    11 年前

    这是一个老问题,但我发现了它,因为我需要一个自动跟踪坐标的算法,当它们被绘制时,我通过谷歌找到了这个。看起来这个问题没人提过 Potrace (维基百科上的一篇小文章 here 这基本上是原始问题所要求的,并且是开放源码的,有几个端口以及描述其功能的免费文档。

    推荐文章