banner
NEWS LETTER

GAMES102-05-Bezier曲线 B样条曲线

Scroll down

Lecture 05 B-Spline

建模的两种形式:

image-20241105201424286

曲线拟合从代数观点来看是从一组基函数所张成的函数空间中,找一个“好”的函数来拟合给定的采样点。从几何观点看:

image-20241104223254475

image-20241104223308355

系数顶点与曲线本身无直观的联系,无几何意义 → 不利于用户在设计建模中交互修改曲线

image-20241104223423654

image-20241104223435342

Bernstein基函数

n次Bernstein基函数

where the binomial coefficients are given by:

例子:

image-20241104224142542

线

Bezier曲线

image-20241105201641874

image-20241105201752485

Bernstein基函数

image-20241105201818780
image-20241105201818780

Bernstein基函数性质:

  • 正性(非负性) + 权性 → Bezier曲线的凸包性

image-20241105202107075

  • 基性

    • 是次数不高于n的多项式集合(空间)的一组基

    • 与幂基可以相互线性表达:

  • 递推公式

    • 基函数的递推公式

      • with
      • 可推导得到
    • 高阶的基函数由2个低阶的基函数“升阶”得到(利于保持一些良好的性质)

  • 端点插值性

    • 可知Bezier曲线经过首末两个控制顶点p0, pn
    • image-20241105203650191
  • 导数

    • image-20241105203826161

    • Bezier曲线的端点性质:

      • 端点插值:
      • 端点的切线方向与边相同:
      • 端点的2阶(k)切线与3点(k+1)相关:
  • 升阶

​ 可知Bezier曲线的升阶:

image-20241105204506230

Bezier曲线的 de Casteljau算法

  • 最后一条边一定与最终的曲线相切

image-20241105204837918

image-20241105204947674

image-20241105205006909

几何样条曲线

用分段Bezier曲线来插值型值点

image-20241105205036562

两Bezier曲线的拼接条件:

image-20241105205350281

image-20241105205557954

广义样条曲线

image-20241105205424571

分段表达时具有局部性,如何形成一个统一表达?

image-20241105205801130

从Bernstein基函数的递推公式得到启发:

  • 局部处处类似定义,由一个基函数平移得到
  • 高阶的基函数由2个低阶的基函数“升阶”得到

关键思路:

  • 构造一个基函数b(t),它存在以下性质:

    • b(t) 是 C2 连续的

    • b(t) 是分段多项式

    • b(t) 具有局部支撑

    • 叠加平移的 b(t+i) 形成统一的分割

    • 对所有 t,b(t) ≥ 0 b(t) ≥ 0

  • 简而言之就是所有理想的性质都在基函数中体现,线性组合将继承这些性质。

image-20241105210310034

image-20241105212428933

image-20241105212526925

image-20241105212534772

每次多一阶。

  • 对于均匀节点:

image-20241105212607776

  • 非均匀节点:

image-20241105212724921

基函数的性质:

B样条曲线:

image-20241105213639248

多重加权结点向量:

  • 允许
  • 只要没有超过 k 个结点重合,递归定义就能正常工作
  • 节点重合可以改变曲线的光滑性

image-20241105214020994

B样条函数实际上就是一个分段的多项式函数,但给出了一个统一的形式。

B样条的局部性:

image-20241105214221441

引申:在神经网络中把sigmod这种基函数变成局部基也能有这个性质,数据变化了只会影响一部分参数。

image-20241105214338042

B样条的其它理论知识:

  • B样条的许多性质:
    • 局部凸包性:B样条曲线的局部修改只会影响曲线的局部部分。
    • 变差缩减性:B样条曲线的平滑度可以通过调整结点向量来控制。
    • 包络性:B样条曲线可以被其控制点的凸包所包围。
    • 导数和积分的递推式:B样条曲线的导数和积分可以通过递推式计算。
    • 几何作图:B样条曲线可以通过几何方法绘制。
  • 重节点的B样条基函数及曲线
  • Bezier样条曲线与B样条曲线的转换
  • B样条插值方法

image-20241105214617458

其他文章
cover
GAMES102-04-三次样条函数
  • 24/11/04
  • 22:43
  • GAMES102课程笔记
目录导航 置顶
  1. 1. Lecture 05 B-Spline