Home > 程序/算法 > 三次样条曲线拟合

三次样条曲线拟合

Spline曲线应用很广,在3d游戏领域,一般会被用在摄像机运动,骨骼动画压缩等方面。

Spline的生成一般是采用分段Bezier曲线拼接,这里有一个pdf文件,是我目前为止看到的关于spline生成和插值的最详细,最易懂的文档。

Spline拟合是另一个课题,也就是用尽量少的控制点,生成Spline曲线拟合给定的数据点,并把误差控制在一定范围以内。目前貌似还没有出现广泛采用的,特别有效又浅显易懂的方法。 附件里是这几天写的一个demo,采用了比较简单的算法,也就是只从给输入据点中挑选控制点,每次迭代添加一个误差最大的点,直到所有数据点的拟合误差都小于要求的值。 为了演示拟合的过程,按一次“Fit”按钮进行一次迭代,支持一次undo

spline

蓝色曲线是输入,红色曲线是拟合曲线。

下载demo

如果无法运行,你可能还需要microsoft.vc90.crt.zip

Categories: 程序/算法 Tags:
  1. tearshark
    December 27th, 2009 at 10:41 | #1

    哥们的东西看起来都不错.问题在于,你所有的例子,我一个都运行不了,总是这样那样的非法.
    是不是做事还是不够细致?

  2. December 27th, 2009 at 22:50 | #2

    @tearshark

    能告诉我你用的是什么操作系统吗?

  3. zxc
    April 22nd, 2010 at 15:02 | #3

    可否看下源代码,谢谢

  4. zolor
    May 29th, 2010 at 22:07 | #4

    你好,我想请问一个简单的问题~! 如果您看到我的信息,请您一定要帮我这个忙,回复我~~

    那篇文章 是关于 样条曲线 变化的理论基础,
    我所迷惑的是 关于 样条曲线几个控制点的设定,以及鼠标响应的编程,
    麻烦您推荐本关于 建立鼠标响应控制点的书或者文章,谢谢您了!!
    mail zolo...@yahoo.com.cn

  1. No trackbacks yet.

 

Spam Protection by WP-SpamFree