利用Eigen进行B-Spline 曲线插值运算
2016-01-12 10:32
232 查看
B-Spline curve即B样条曲线,1972 年Gordon、Riesenfeld 等人提出,为了解决Bezier曲线的不足(Bezier 曲线不能做局部修改;Bezier 曲线的拼接比较复杂)。B样条曲线的计算原理可参考这里,或者看中文的更详细的介绍可参考《计算机辅助几何设计与非均匀有理B样条》这本书。
Eigen库unsupported部分里有实现B-Spline 曲线插值运算,详见http://eigen.tuxfamily.org/doxdevel/unsupported/group__Splines__Module.html
我们一般的曲线拟合方法是这样一个过程:给定一些样本(x,y)点,拟合一个曲线函数y=f(x),拟合完之后对给定的x坐标可以计算出曲线上相应的y坐标值。但是这个b样条曲线方法不一样,他是给定一堆控制点Q比如二维(x,y),给定矢量节点U={u0,u1,u2,……,um},得到一个吃C(u)方程,C(u)得到的是一个点。那我们对于一个x值,怎么根据拟合出来的C(u)计算曲线上对应的y值呢。
这里有个利用Eigen对给定x计算B样条上对应y值的简单的例子可参考下面网址这里或这里,这么做的原理有人懂吗?求高手指教!
Eigen库unsupported部分里有实现B-Spline 曲线插值运算,详见http://eigen.tuxfamily.org/doxdevel/unsupported/group__Splines__Module.html
我们一般的曲线拟合方法是这样一个过程:给定一些样本(x,y)点,拟合一个曲线函数y=f(x),拟合完之后对给定的x坐标可以计算出曲线上相应的y坐标值。但是这个b样条曲线方法不一样,他是给定一堆控制点Q比如二维(x,y),给定矢量节点U={u0,u1,u2,……,um},得到一个吃C(u)方程,C(u)得到的是一个点。那我们对于一个x值,怎么根据拟合出来的C(u)计算曲线上对应的y值呢。
这里有个利用Eigen对给定x计算B样条上对应y值的简单的例子可参考下面网址这里或这里,这么做的原理有人懂吗?求高手指教!
相关文章推荐
- java 枚举类型enum 的使用
- 01.Web大前端时代之:HTML5+CSS3入门系列~初识HTML5
- C#多线程之旅(3)——线程池
- linux 线程--内核线程、用户线程实现方法
- javascript连接Java
- 伪装
- 《 V I M 教 程 》
- LSH局部敏感哈希的介绍
- yii操作数据库(PDO)
- Linux 环境变量
- mysql 事务测试
- 12月全球搜索引擎版本份额:百度第三 份额涨2.65%
- 判断浏览器类型,不判断版本
- 在VMware中为Linux系统安装VM-Tools的详解教程
- 命令行cli使用php的exec可以正常,浏览器访问无输出解决方案
- yii操作数据库(AR)
- 处理时间格式的代码处理
- rem 产生的小数像素问题
- android内存分析
- Beaglebone Black开发板安装驱动