计算机图形学 学习笔记(十一):曲线曲面(三):B样条 曲线与曲面
来源:互联网 发布:生化危机6知乎 编辑:程序博客网 时间:2024/05/17 01:58
接上文 计算机图形学 学习笔记(十):曲线曲面(二):Bezier 曲线与曲面
8.4 B样条曲线产生背景及定义
B样条产生的背景
Bezier 曲线曲面有很多优点,比如说可以用鼠标拖动控制顶点以改变曲线的形状,非常直观,给设计人员很大的自由度。
Bezier 曲线曲面是几何造型的主要方法和工具。
但是Bezier 曲线有几点不足:
(1)一旦确定了特征多边形的顶点数(n+1)个,也就决定了曲线的阶次(n次)
(2)Bezier 曲线或曲面的拼接比较复杂
(3)Bezier 曲线或曲面不能作局部修改
1972年,Gordon、Riesenfeld 等人提出了B样条方法,在保留 Bezier 方法全部优点的同时,克服了 Bezier 方法的缺点。
样条:分段连续多项式。
整条曲线有一个完整的表达形式,但内在的量是一端一段的,比如一堆的3次曲线拼过去,两条之间满足2次连续。这样既克服了波动现象,曲线又是低次的。既有统一的表达又有统一的算法。
如何进行分段呢?
B样条的递推定义和性质
B样条曲线的数字表达式为:
de Boor-Cox 递推定义
B样条基函数可以有各种各样的定义方式,但是公认的最容易理解的是 de Boor-Cox 递推定义。
它的原理是:只要是k阶(k-1次)的 B样条基函数,构造一种递推的公式,由0次构造1次,1次构造2次,2次构造3次,以此类推。
B样条基函数定义区间及节点向量
K阶B样条对应节点向量数
B样条函数定义区间
B样条曲线定义
8.5 B样条曲线性质及类型划分
B样条基函数的主要性质
局部支撑性
权性
连续性
分段参数多项式
B样条函数的主要性质
局部性
变差缩减性
设平面内 n+1 个控制顶点 构成B样条曲线 P(t)的特征多边形。在该平面内的任意一条直线与P(t)的交点个数不多于该直线和特征多边形的交点个数。
几何不变性
B样条曲线的形状和位置与坐标系的选择无关。
凸包性
B样条曲线类型的划分
均匀B样条曲线
准均匀B样条曲线
分段Bezier 曲线
B样条曲线用分段Bezier 曲线表示后,各个曲线段就具有了相对的独立性。另外,Bezier 曲线一整套简单有效的算法都可以原封不动地采用,缺点是增加了定义曲线的数据,控制顶点数及节点数。
非均匀B样条曲线
当节点沿参数轴的分布不等距时,表示非均匀B样条函数。
8.6 B样条曲面
- 计算机图形学 学习笔记(十一):曲线曲面(三):B样条 曲线与曲面
- 计算机图形学 学习笔记(十):曲线曲面(二):Bezier 曲线与曲面
- 计算机图形学 学习笔记(九):曲线曲面(一):参数曲线、参数几何代数形式
- OpenGL学习笔记(四):曲线曲面
- Bezier、B样条曲线曲面
- 3次Bezier曲线,曲面和3次B样条曲线和曲面
- NURBS曲线与曲面
- Bezier曲线与曲面(1)
- Bezier曲线与曲面(2)
- Bezier曲线与曲面(1)
- Bezier曲线与曲面(1)
- Bezier曲线与曲面(2)
- 曲线与曲面相关网站
- 曲线积分与曲面积分
- [图形学] B样条曲线
- [图形学] B样条曲线
- 高等数学:第十章 曲线积分与曲面积分(2)对面积、坐标的曲面积分
- 高等数学总结(曲线,曲面积分1)
- iOS "duplicate symbol"解决第三方库之间的冲突
- 福州大学第十四届程序设计竞赛_重现赛 A Salty Fish(思路)
- unity3d中的几个系统自调用的方法
- 详解第三方支付之支付清算体系(上)
- 胜利大逃亡
- 计算机图形学 学习笔记(十一):曲线曲面(三):B样条 曲线与曲面
- Chrome开发者工具详解(2)-Network面板
- java单例模式中构造器私有引发的一些思考
- Java模拟并发操作进行服务器压力测试
- Codeforces Gym 101174 D. Dinner Bet (期望 + DP)
- javascript基础(2)
- Tooltip学习简单记录
- UVA 11988
- neo4j 基本语法笔记(全)