写个读书笔记,一来作为字典以后可以查,二来记录自己的理解。

并没有对每个知识点的详细解释,大部分只有主观的定性的解释。

上一节讲了贝塞尔曲线,B样条曲线比贝塞尔曲线更复杂,但弥补了贝塞尔曲线的缺点。

贝塞尔曲线的缺点:

1.无法局部修改。  因为贝塞尔曲线中的每一点 是受到所有控制点的影响的,所以当只想修改一个局部的时候,会影响到其他地方。

2.很难满足连续性。

这两个缺点的反面就是B样条曲线,可以局部修改,连续性也容易满足一些。

B样条曲线的公式:

N是B样条的多项式,展开来如下:

定性描述这个多项式:由于一阶的 Ni,1(t) 只在 ti 到 ti+1有值,在其他范围内为0,所以 这个多项式的高阶只受到 有限 数量的低阶的影响。

所以导致整个B样条在  一段范围内 只受有限个控制点影响, 将整个B样条分为一些独立的范围,由节点knot分开。

所以B样条可以局部修改。

B样条的分类:

  • uniform B-Spline 均匀B样条 :节点均匀分布
  • Quasi-Uniform B-Spline 准均匀B样条:在开始和结束节点有重复度为k(k为阶数)的节点,这样才能使曲线经过开始和结束控制点。
  • Piecewise Bezier Curve 分段贝塞尔曲线
  • Nouniform B-Spline 均匀B样条

节点的插入:

B样条的性质:

NURBS (non-uniform rational b-spline非均匀有理B样条):

贝塞尔和B样条都无法精确描述圆锥曲线和抛物线,NURBS可以。

计算机图形学 读书笔记(七)B样条曲线 B-Spline相关推荐

  1. 《Computer Graphics with OpenGL》计算机图形学读书笔记 02——计算机图形学软件

    这里是<Computer Graphics with OpenGL>英文原版第四版的读书笔记,预计每一章写一篇读书笔记.本篇为第二章,简要介绍计算机图形学的相关软件.图形学相关软件可分为两 ...

  2. 计算机图形学 读书笔记(一) 基础概念

    写个读书笔记,一来作为字典以后可以查,二来记录自己的理解. 并没有对每个知识点的详细解释,大部分只有主观的定性的解释. 大量的配图用的清华大学的PPT里的图,会不会有版权问题呀....让我删我就删.. ...

  3. 计算机图形学 读书笔记(八) 光线跟踪加速Ray Tracing Acceleration

    写个读书笔记,一来作为字典以后可以查,二来记录自己的理解. 并没有对每个知识点的详细解释,大部分只有主观的定性的解释. 光线跟踪受到的限制: 1.时间复杂度和空间复杂度都很高. 2.主要时间用在了可见 ...

  4. 计算机图形学 读书笔记(五) 网格参数化 Triangulated Surface Parameterization

    写个读书笔记,一来作为字典以后可以查,二来记录自己的理解. 并没有对每个知识点的详细解释,大部分只有主观的定性的解释. 网格参数化的意义: 提供了网格和其他domain(如贴图)的映射,即:将一个三维 ...

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

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

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

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

  7. 计算机图形学 学习笔记(十一):曲线曲面(三):B样条 曲线与曲面

    接上文 计算机图形学 学习笔记(十):曲线曲面(二):Bezier 曲线与曲面 8.4 B样条曲线产生背景及定义 B样条产生的背景 Bezier 曲线曲面有很多优点,比如说可以用鼠标拖动控制顶点以改变 ...

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

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

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

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

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

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

最新文章

  1. dell新服务器安装系统
  2. 详解Framework
  3. 将社交登录添加到Spring MVC Web应用程序:注册和登录
  4. 代码里-3gt;gt;1是-2但3gt;gt;1是1,-3/2却又是-1,为什么?
  5. Mac下VirtualBox虚拟机Win7与主机共享文件夹
  6. 喵喵遇到java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter怎么办
  7. python读取json文件多个json数据_Python 加载包含多个JSON对象的JSON文件
  8. linux之我常用的20条命令( 之三)
  9. Linux下载神器XDM
  10. 区块链性能测试工具使用教程
  11. C语言入门——求n的阶乘
  12. 计算机密码的怎么查询,电脑密码如何查看? 手把手教你查看方法
  13. 林熙蕾和吴大维分手,和元大小开马维辰交往,真实性有待考验
  14. sort按vector元素排序
  15. 泛型是什么,为什么要用泛型
  16. 语音相关的数据集-5个数据集
  17. BZOJ 4605 崂山白花蛇草水 权值线段树+K-D树
  18. C# 屏蔽Ctrl Alt Del 快捷键方法+屏蔽所有输入
  19. 2020秋招金九银十程序员离职跳槽指南,作为过来人想对你们说这几点
  20. Tomcat禁止打印日志

热门文章

  1. python爬取京东商品评价信息
  2. 描写火车站场景_优美段落:描写车站的经典美文摘抄
  3. uniapp之自定义顶部样式
  4. 学习大数据可以进入哪些公司?
  5. vp230引脚功能_CAN收发器—TJA1040与TJA1050区别
  6. 闰秒问题的全面解读与防范
  7. lmp91000偏压配置求助
  8. ubuntu 下的 dnw 下载安装和使用
  9. java spring是用在哪里_什么是spring框架?spring框架到底有什么用?spring框架到底做了些什么?...
  10. 论文阅读《A Large Dataset to Train Convolutional Networks for Disparity, Optical Flow, and Scene Flow Es》