将连续点“追踪”为贝塞尔曲线的算法

问题描述 投票:0回答:3

我有 X、Y 点的连续集合,我想将它们“追踪”到一组贝塞尔曲线中。是否可以使用任何开源位图矢量跟踪算法或库来实现此目的?

trace bezier
3个回答
4
投票

这取决于您想要实现的目标。如果您想查看“最佳拟合”曲线,或者至少是粗略的近似值,则应该使用 b_spline。 b_spline 将使其自身适合给定的点“内部”。为了遍历有问题的点,我通常会使用 Catmull-Rom 样条线,当给定点 1、2、3 时,该样条线将穿过点 2,其斜率等于点 1 和 3 之间的斜率。

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

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


1
投票

如果您希望曲线穿过现有的一组点,则需要使用分段 B 样条曲线而不是贝塞尔曲线。

网络上有大量用于执行此操作的代码。


0
投票

这是一个较旧的问题,但我发现它是因为我需要一种在绘制坐标时自动跟踪坐标的算法,并通过 Google 找到了这篇 SO 帖子。看起来对于这个特定的问题,没有人提到Potrace(关于它的小维基百科文章这里),这几乎就是最初问题所要求的,并且是具有多个端口的开源。另外,描述其功能的论文是免费提供的。

© www.soinside.com 2019 - 2024. All rights reserved.