离散点的曲线拟合问题

马丁当 2012-06-26 07:56:19
使用三次样条插值算法,已经实现的离散点的曲线拟合问题。但三次样条算法有个假设条件:
a<x0<x1<...<xN<b,即样本点在X轴方向上要么是递增的,要么是递减的。在实际应用过程中,显然不能满足要求。
比如样本点是矩形的四个顶点,用三次样条算法是不是不能满足了?

我的应用是在二维平面上有若干个无序的点,把它们接先后顺序平滑的连接起来,不知道一般用什么算法,又简单又通用。
...全文
1064 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
马丁当 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

如果样本点多的情况下用拉格朗日插值法吧,曲线会好看点。
1。使用样本点计算出方程
2。使用循环,设一个比较小的detX,计算出Y,然后2点连线。
[/Quote]

我去参考一下.
我原来用的三弯矩算法,根据书上自己写的.书上的公式中有detX作商的时候,所以实际上我的解法算不出来是因为样本点中有两个在X轴上等值的点,还是不够通用.或许找的书写的不够详细.再研究一下.

马丁当 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

如果样本点多的情况下用拉格朗日插值法吧,曲线会好看点。
1。使用样本点计算出方程
2。使用循环,设一个比较小的detX,计算出Y,然后2点连线。
[/Quote]

我去参考一下.
我原来用的三弯矩算法,根据书上自己写的.书上的公式中有detX作商的时候,所以实际上我的解法算不出来是无法取两个在X轴上等值的点,还是不够通过.或许找的书写的不够详细.再研究一下.
anmychen2001 2012-07-02
  • 打赏
  • 举报
回复
如果样本点多的情况下用拉格朗日插值法吧,曲线会好看点。
1。使用样本点计算出方程
2。使用循环,设一个比较小的detX,计算出Y,然后2点连线。
fronz 2012-07-02
  • 打赏
  • 举报
回复
平滑、拟合这种没很好的算法吧
karen99 2012-06-28
  • 打赏
  • 举报
回复
样条拟合都是局部的,局部是递增或者递减就可以了,矩形的四个顶点局部看来也是单调的啊
马丁当 2012-06-27
  • 打赏
  • 举报
回复
多谢楼上的兄弟指导。
我去看一下,我用的算法是三弯矩算法。这就去研究一下B样条。
libralibra 2012-06-26
  • 打赏
  • 举报
回复
楼主请自行搜索"样条 反算"
不要搜索:样条 插值

"即样本点在X轴方向上要么是递增的,要么是递减的"这句话是错的.
我做过三次b样条曲线/曲面反算,不可能样本点在x轴方向是单调的,任意点均可反算,
但是样本点的次序决定了反算的样条参数.这方面讲解很多的,好好看下
马丁当 2012-06-26
  • 打赏
  • 举报
回复
刚才查了一下,nlib好象不是免费的吧。

我这个只是个简单的应用,就是把点平滑连接。我已经按三次样条的算法实现了,只是实现后觉得不完美,局限性大太,是不是我对三次样条的算法理解的不够深刻??
想要问一下适合我这种应用的,应该使用什么样的插值算法比较通用、简单。

gumuliying123 2012-06-26
  • 打赏
  • 举报
回复
我也不知道算法怎么样 但是我知道有的数学库中的函数好像可以实现的 比如nlib库
做这个东西不会自己写代码吧

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧