【问题标题】:Smooth Bezier Curve平滑贝塞尔曲线
【发布时间】:2011-09-08 07:40:13
【问题描述】:

我想在 iphone 中平滑一些手绘线。 我在 http://webdocs.cs.ualberta.ca/~graphics/books/GraphicsGems/gems/FitCurves.c

但是,我发现有些贝塞尔曲线是错误的,第二个控制点和终点无效。 以前有人遇到过同样的问题吗? 谢谢。

【问题讨论】:

  • 您必须更加具体。举个例子。
  • this answer

标签: bezier smooth curve


【解决方案1】:

贝塞尔曲线并非设计为通过提供的顶点! 它们旨在塑造一条受控制点影响的平滑曲线。

首先,您必须决定是否要在缺失点之间进行插值, 或者如果你想过滤非平滑数据:

过滤

您应该查看具有较小平均窗口的“滑动平均”。 (尝试 5 - 10 像素)。 其工作原理如下:(查找 wiki 以获得详细说明)

我在这里使用 10 个点的平均窗口:
首先计算点 0 - 9 的平均值,并将结果输出为结果点 0
然后计算点 1 - 10 的平均值并输出,结果 1
以此类推。

插值 如果您想使用平滑曲线在(缺失)点之间进行插值,可以使用分段三次样条:

您通过 3 个顶点计算三次多边形的系数。 您首先通过以下方式计算立方多边形:
Point[0] - Point[2],但您仅将输出从 Point[0] 绘制到 Point[1]。
然后你继续前进:并计算通过
Point[1] - Point[3],但您只能从 p1 绘制到 p2。 以此类推。

您需要在 wiki 上搜索三次插值以获得如何计算三次多边形(有时称为三次样条)的详细说明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    • 2022-09-27
    • 2012-08-31
    • 2019-10-25
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多