计算机图形学 学习笔记(十一):曲线曲面(三):B样条 曲线与曲面
接上文 计算机图形学 学习笔记(十):曲线曲面(二):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样条 曲线与曲面相关推荐
- 计算机图形学 学习笔记(九):曲线曲面(一):参数曲线、参数几何代数形式
接上文 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影) 计算机图形学三大块内容:光栅图形显示(前面已经介绍完了 1-8).几何造型技术.真实感图形显示.光栅图 ...
- GAMES101-现代计算机图形学学习笔记(作业07)
GAMES101-现代计算机图形学学习笔记(作业07) Assignment 07 GAMES101-现代计算机图形学学习笔记(作业07) 作业 作业描述 思路 结果 原课程视频链接以及官网 b站视频 ...
- 计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等
接上文 计算机图形学 学习笔记(六):消隐算法:Z-buffer,区间扫描线,Warnock,光栅图形学小结 在图形学中,有两大基本工具:向量分析,图形变换.本文将重点讲解向量和二维图形的变换. 5. ...
- GAMES101-现代计算机图形学学习笔记(作业02)
GAMES101-现代计算机图形学学习笔记(作业02) Assignment 02 GAMES101-现代计算机图形学学习笔记(作业02) 作业 作业描述 需要补充的函数 思路 结果 原课程视频链接以 ...
- GAMES101-现代计算机图形学学习笔记(作业01)
GAMES101-现代计算机图形学学习笔记(作业01) Assignment 01 GAMES101-现代计算机图形学学习笔记(作业01) 作业 作业描述 需要补充的函数 思路 结果 原课程视频链接以 ...
- 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)
接上文 计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等 通过三维图形变换,可由简单图形得到复杂图形,三维图形变化则分为三维几何变换和投影变换. 6.1 三维图形几何变换 三维 ...
- 计算机图形学 学习笔记(四):直线裁剪算法:Cohen-Suther land,中点分割法,Liang-Barsky
接上文 计算机图形学 学习笔记(三):多边形的区域填充算法,反走样算法 光栅图形学算法 本文主要讲解直线裁剪算法. 裁剪 使用计算机处理图形信息时,计算机内部存储的图形往往比较大,而屏幕显示的知识图形 ...
- GAMES101-现代计算机图形学学习笔记(作业03)
GAMES101-现代计算机图形学学习笔记(作业03) Assignment 03 GAMES101-现代计算机图形学学习笔记(作业03) 作业 作业描述 思路 原课程视频链接以及官网 b站视频链接: ...
- 计算机图形学 学习笔记(五):多边形裁剪(Suther land-Hodgeman),文字裁剪
接上文 计算机图形学 学习笔记(四):直线裁剪算法:Cohen-Suther land,中点分割法,Liang-Barsky 光栅图形学算法 3.4 多边形裁剪 之前上一篇文章中,我们介绍了直线段的裁 ...
最新文章
- 周日21点50:关注电子阅读的大潮到来
- java 添加jbutton_java – 如何在JScrollPane上添加JButton?
- Windows下LaTeX安装及使用,使用VS Code改善LaTeX编辑环境
- Python学习之共享引用
- 网易加速5G下视频技术应用,携手南京银行数字化转型
- 179. 最大数---LeetCode---JAVA
- HALCON学习之旅(六)
- 新浪sea增加php,php接口 连接新浪云sea的mysql数据库
- 旷视产品营销总监吕盟:构建AIoT时代的城市智慧|量子位沙龙回顾
- linux 系统管理员面试,经典linux系统工程师系统管理员面试题
- 14Penrose广义逆(II)
- SQLCODE 错误对照表
- Echarts带渐变色的折线图
- html—table(房屋楼层显示以及根据不同类型进行背景颜色区分)
- CGAN模型——pytorch实现
- Redis启动多端口、运行多实例
- 三星打印机通过无线网连接到服务器,多种连接方式 三星无线打印轻松享
- 大数据技术背景介绍(开号篇)
- html canvas自适应屏幕,Unity canvas 和 canvas元素自适应全屏
- Linux 平台中十款播放器