计算机图形学----贝塞尔曲线与曲面相关知识汇总

本文整理自西安交通大学软件学院祝继华老师的计算机图形学课件,请勿转载

文章目录

  • 贝塞尔曲线与曲面
    • 定义
    • Betnstein基函数的性质
    • Bezier曲线的性质
    • Bezier曲线的递推算法
    • Bezier曲线的升阶
      • 新控制顶点的计算
    • Bezier曲面
      • 定义
      • 性质
      • 递推算法

贝塞尔曲线与曲面

定义

给定空间n+1个点的位置矢量 P i ( i = 0 , 1 , 2 , … , n ) P_i(i=0,1,2,…,n) Pii=0,1,2,,n,则Bezier参数曲线上各点坐标的插值公式是:

image-20220215152803609

P i P_i Pi构成该Bezier曲线的特征多边形

B i , n ( t ) B_{i,n}(t) Bi,n(t)是n次Bernstein基函数:

image-20220215152844323

Betnstein基函数的性质

  • 正性

image-20220215153155605

  • 端点性质

计算机图形学----贝塞尔曲线与曲面相关知识汇总_第1张图片

  • 权性

image-20220215153243437

  • 对称性

image-20220215153253685

  • 递推性

    即高一次的Bernstein基函数可由两个低一次Bernstein基函数线性组合而成

image-20220215153310988

Bezier曲线的性质

  • 端点性质

    • 由Bernstein基函数的端点性质可以推得,当t=0时,P(0)= P 0 P_0 P0 ;当t=1时,P(1)= P n P_n Pn。由此可见,Bezier曲线的起点、终点与相应的特征多边形的起点、终点重合。

    • 二阶导矢

      计算机图形学----贝塞尔曲线与曲面相关知识汇总_第2张图片

      上式表明:2阶导矢只与相邻的3个顶点有关,事实上,r阶导矢只与(r+1)个相邻点有关,与更远点无关。

  • k阶导函数的差分表示

    高阶向前差分矢量由低阶向前差分矢量递推地定义

    image-20220215155021932

    计算机图形学----贝塞尔曲线与曲面相关知识汇总_第3张图片

  • 对称性

    由控制顶点 P i ∗ = P n − i , ( i = 0 , 1 , . . . , n ) P^*_i=P_{n-i},(i=0,1,...,n) Pi=Pni,(i=0,1,...,n)构造出的新Bezier曲线,与原Bezier曲线形状相同,走向相反

    这个性质说明Bezier曲线在起点处有什么几何性质,在终点处也有相同的性质

  • 凸包性

    计算机图形学----贝塞尔曲线与曲面相关知识汇总_第4张图片

  • 几何不变性

    某些几何特性不随坐标变换而变化的特性;

    Bezier曲线位置与形状与其特征多边形顶点 P i ( i = 0 , 1 , . . . , n ) P_i(i=0,1,...,n) Pi(i=0,1,...,n)的位置有关:

    image-20220215155334447

  • 变差缩减性

    若Bezier曲线的特征多边形 P 0 P 1 . . . P n P_0P_1...P_n P0P1...Pn是一个平面图形,则平面内任意直线与P(t)的交点个数不多于该直线与其特征多边形的交点个数;

    反映了Bezier曲线比其特征多边形的波动还小。

  • 仿射不变性

    计算机图形学----贝塞尔曲线与曲面相关知识汇总_第5张图片

Bezier曲线的递推算法

de Casteljau(德卡斯特里奥)递推算法

计算机图形学----贝塞尔曲线与曲面相关知识汇总_第6张图片

由(n+1)个控制点 P i ( i = 0 , 1 , . . . , n ) P_i(i=0,1,...,n) Pi(i=0,1,...,n)定义的n次Bezier曲线 P 0 n P_0^n P0n可被定义为分别由前、后n个控制点定义的两条(n-1)次Bezier曲线 P 0 n − 1 P_0^{n-1} P0n1 P 1 n − 1 P_1^{n-1} P1n1的线性组合:

image-20220215155645292

由此得到Bezier曲线的递推计算公式

计算机图形学----贝塞尔曲线与曲面相关知识汇总_第7张图片

  • 在给定参数下,求Bezier曲线上一点P(t)非常有效。
  • 上式中: P i 0 = P i P_i^0=P_i Pi0=Pi 是定义Bezier曲线的控制点, P 0 n P_0^n P0n即为曲线 P ( t ) P(t) P(t)上具有参数t的点。
  • 算法稳定可靠,直观简便,可以编出十分简捷的程序,是计算Bezier曲线的基本算法和标准算法。

当n=3时,算法递推出的 P i k P_i^k Pik呈直角三角形,对应结果如图所示。从左向右递推,最右边点 P 0 3 P_0^3 P03即为曲线上的点

计算机图形学----贝塞尔曲线与曲面相关知识汇总_第8张图片

Bezier曲线的升阶

升阶:保持Bezier曲线的形状与方向不变,增加定义它的控制顶点数,提高该Bezier曲线的次数

新控制顶点的计算

计算机图形学----贝塞尔曲线与曲面相关知识汇总_第9张图片

上述结果说明:

  • 新的控制顶点 P i ∗ P_i^* Pi是以参数值 i n + 1 \frac{i}{n+1} n+1i按分段线性插值从原始特征多边形得出的
  • 升阶后的新的特征多边形在原始特征多边形的凸包内
  • 特征多边形更靠近曲线。

Bezier曲面

定义

在一般实际应用中m,n 不大于4

计算机图形学----贝塞尔曲线与曲面相关知识汇总_第10张图片

性质

  • 几何不变性。
  • 对称性。
  • 凸包性。
  • 除变差缩减性质外,Bezier曲线的其它性质可推广到Bezier曲面

递推算法

Bezier曲线的递推算法可推广至Bezier曲面的情形

计算机图形学----贝塞尔曲线与曲面相关知识汇总_第11张图片

你可能感兴趣的:(#,系统分析与设计,几何学,图形学,贝塞尔曲线)