silitex 发表于 2015-1-13 15:21:06

dianyancao 发表于 2015-1-13 14:25
上面的参数化方法是错误的,考虑单位圆的上半部分
$$x(t)=t,y(t)=\sqrt{1-t^2}$$
好像不能通过多项式基函 ...

额,如果是你和直线,就简单了,关键就是这个曲线拟合,贼麻烦。目前急事处理完毕,继续尝试一下看能否搞得定。

silitex 发表于 2015-1-16 00:28:59

dianyancao 发表于 2015-1-13 14:25
上面的参数化方法是错误的,考虑单位圆的上半部分
$$x(t)=t,y(t)=\sqrt{1-t^2}$$
好像不能通过多项式基函 ...

非常感谢啊,虽然您的东西还没有看得很懂额!请问哥们有QQ号吗?我的QQ:16352315

silitex 发表于 2015-1-16 00:29:24

曲线拟合一直没有搞定,太难了额!

mathe 发表于 2015-1-16 15:12:56

对于给定候选二次曲线的拟合很简单,最小二乘法即可。但是一般情况的拟合问题,你并没有说清楚,比如是否必须经过所有采样点还是只要比较接近就可以了。如果必须经过所有的点,贝赛尔曲线应该是不出的选择,看不明白你们为什么淘汰了。如果觉得贝赛尔曲线不够灵活,可以用有理B样条曲线,可以有更多的参数可选择

silitex 发表于 2015-1-16 15:59:10

mathe 发表于 2015-1-16 15:12
对于给定候选二次曲线的拟合很简单,最小二乘法即可。但是一般情况的拟合问题,你并没有说清楚,比如是否必 ...

下面这个截图就是淘汰贝塞尔曲线的原因,因为贝塞尔曲线并不是均匀的分配所有的取样点。
而我现在所拟合的曲线,并不是类似于这种这么简单:y = a0 + a1*x + a2*x^2(这种是规定了X坐标必须递增的)
而是可能是任意方向的曲线(比如可能是画圆的拟合),所以这种很难拟合。公式很复杂,求不出什么解!

silitex 发表于 2015-1-16 16:07:25

平面中的一般曲线:a20*x^2+a11*x*y+a02*y^2+a10*x+a01*y+a00 = 0
要拟合出这样的一条曲线出来,算法一直搞不出来!
很多的算法都是一维拟合,即规定X必须递增的。要完全解除这个一般解的二维拟合,头痛了很久了!

silitex 发表于 2015-1-16 20:39:02

mathe 发表于 2015-1-16 15:12
对于给定候选二次曲线的拟合很简单,最小二乘法即可。但是一般情况的拟合问题,你并没有说清楚,比如是否必 ...

好的, 我再好好消化一下你说的情况!太感谢了!我现在的拟合情况需求:
比较接近也能够接受,如果能够经过所有的点,那就最完美了!
所以我好好的再学习一下贝塞尔曲线以及B样条曲线,这样看起来,再花一段时间,应该就离成功不远了!

贝塞尔曲线没有很好的消化,是网上找来的免费代码;有两套,算法差异很大,怪异的是,最后画出来的曲线是近乎重合的;看来还是需要自己好好消化一下贝塞尔曲线先!

l4m2 发表于 2015-1-17 09:51:39

模拟个弹簧效果怎么样

wayne 发表于 2015-2-25 10:30:55

silitex 发表于 2015-1-16 20:39
好的, 我再好好消化一下你说的情况!太感谢了!我现在的拟合情况需求:
比较接近也能够接受,如果能够 ...

在看ffmpeg的 API,无意间 碰到一篇讲贝塞尔曲线的文章,感觉动画很不错,贴出来,相信你能瞬间明白控制点和拟合样点的区别:
http://www.cnblogs.com/hyb1/p/3875468.html

如mathe在15#的评论。
贝赛儿曲线不要用高阶的,另外,不要将取样点作为控制点。是你用法不对

silitex 发表于 2015-3-8 16:31:58

wayne 发表于 2015-2-25 10:30
在看ffmpeg的 API,无意间 碰到一篇讲贝塞尔曲线的文章,感觉动画很不错,贴出来,相信你能瞬间明白控 ...

好的, 谢谢啊!备注先,这两天看看
页: 1 [2] 3
查看完整版本: 困扰了数个星期----关于曲线拟合的问题(求助大家)