接上文 计算机图形学 学习笔记(十):曲线曲面(二):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. 计算机图形学 学习笔记(九):曲线曲面(一):参数曲线、参数几何代数形式

    接上文 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影) 计算机图形学三大块内容:光栅图形显示(前面已经介绍完了 1-8).几何造型技术.真实感图形显示.光栅图 ...

  2. GAMES101-现代计算机图形学学习笔记(作业07)

    GAMES101-现代计算机图形学学习笔记(作业07) Assignment 07 GAMES101-现代计算机图形学学习笔记(作业07) 作业 作业描述 思路 结果 原课程视频链接以及官网 b站视频 ...

  3. 计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等

    接上文 计算机图形学 学习笔记(六):消隐算法:Z-buffer,区间扫描线,Warnock,光栅图形学小结 在图形学中,有两大基本工具:向量分析,图形变换.本文将重点讲解向量和二维图形的变换. 5. ...

  4. GAMES101-现代计算机图形学学习笔记(作业02)

    GAMES101-现代计算机图形学学习笔记(作业02) Assignment 02 GAMES101-现代计算机图形学学习笔记(作业02) 作业 作业描述 需要补充的函数 思路 结果 原课程视频链接以 ...

  5. GAMES101-现代计算机图形学学习笔记(作业01)

    GAMES101-现代计算机图形学学习笔记(作业01) Assignment 01 GAMES101-现代计算机图形学学习笔记(作业01) 作业 作业描述 需要补充的函数 思路 结果 原课程视频链接以 ...

  6. 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)

    接上文 计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等 通过三维图形变换,可由简单图形得到复杂图形,三维图形变化则分为三维几何变换和投影变换. 6.1 三维图形几何变换 三维 ...

  7. 计算机图形学 学习笔记(四):直线裁剪算法:Cohen-Suther land,中点分割法,Liang-Barsky

    接上文 计算机图形学 学习笔记(三):多边形的区域填充算法,反走样算法 光栅图形学算法 本文主要讲解直线裁剪算法. 裁剪 使用计算机处理图形信息时,计算机内部存储的图形往往比较大,而屏幕显示的知识图形 ...

  8. GAMES101-现代计算机图形学学习笔记(作业03)

    GAMES101-现代计算机图形学学习笔记(作业03) Assignment 03 GAMES101-现代计算机图形学学习笔记(作业03) 作业 作业描述 思路 原课程视频链接以及官网 b站视频链接: ...

  9. 计算机图形学 学习笔记(五):多边形裁剪(Suther land-Hodgeman),文字裁剪

    接上文 计算机图形学 学习笔记(四):直线裁剪算法:Cohen-Suther land,中点分割法,Liang-Barsky 光栅图形学算法 3.4 多边形裁剪 之前上一篇文章中,我们介绍了直线段的裁 ...

最新文章

  1. 周日21点50:关注电子阅读的大潮到来
  2. java 添加jbutton_java – 如何在JScrollPane上添加JButton?
  3. Windows下LaTeX安装及使用,使用VS Code改善LaTeX编辑环境
  4. Python学习之共享引用
  5. 网易加速5G下视频技术应用,携手南京银行数字化转型
  6. 179. 最大数---LeetCode---JAVA
  7. HALCON学习之旅(六)
  8. 新浪sea增加php,php接口 连接新浪云sea的mysql数据库
  9. 旷视产品营销总监吕盟:构建AIoT时代的城市智慧|量子位沙龙回顾
  10. linux 系统管理员面试,经典linux系统工程师系统管理员面试题
  11. 14Penrose广义逆(II)
  12. SQLCODE 错误对照表
  13. Echarts带渐变色的折线图
  14. html—table(房屋楼层显示以及根据不同类型进行背景颜色区分)
  15. CGAN模型——pytorch实现
  16. Redis启动多端口、运行多实例
  17. 三星打印机通过无线网连接到服务器,多种连接方式 三星无线打印轻松享
  18. 大数据技术背景介绍(开号篇)
  19. html canvas自适应屏幕,Unity canvas 和 canvas元素自适应全屏
  20. Linux 平台中十款播放器

热门文章

  1. 剑桥少儿英语预备级教案(上) Unit 1 Greetings
  2. 面向对象设计原则——开闭原则
  3. 【JavaScript进阶学习】jQuery的介绍
  4. 贾扬清:云原生让数据湖加速迈入3.0时代
  5. 哲学家进餐伪代码|操作系统
  6. Hive中text格式和orc格式表的索引性能相关总结
  7. Unity3D资源管理——Unity2017 Assetbundle依赖打包
  8. Aurelia (一)——使用aurelia-cli创建新项目
  9. Java GUI编程 简单的学号 姓名输入框,并可导入保存在txt文档中
  10. X ? X :X ;出错