张春成

V2

2022/09/06阅读:33主题:默认主题

B 样条

B 样条

一般来说,立体渲染需要首先获取物体的三维模型。

而在有限信息的情况下,完全的三维模型往往难以取得,这就需要进行估计。

本系列将一步一步来,先从 B 样条开始。

B 样条是一种经典的物体表面估计方法。


什么是样条

样条这个名称比较晦涩,但如果我们抛弃掉这个名词,换个通俗的名称来说,它就是“插值”。

插值,顾名思义就是从已知的点集出发,估计出一条连续的曲线。这条曲线受到已知点的控制,比如我们可以指定曲线的全部点与已知点之间的“距离最小”,并且对曲线进行一些约束,比如使它的“曲率”满足特定的要求。

插值的方法有很多,这里考虑经典的贝赛尔曲线(Bezier curve),它能够在曲率连续的约束下,经过各个控制点,且各个点的“方向导数”也是可控的。

这时,已知的点集称为“控制点”,这条线就称为“样条”。

贝塞尔曲线样例
贝塞尔曲线样例

贝塞尔曲线样例

基于 B 样条的表面模型

我们把二维贝塞尔曲线拓展到三维空间,就可以实现控制点约束下的二维表面构造。简单理解,就是上图的二维曲线升级成了三维表面。

再将三维表面进行数字化切分,切分成大量的小型三角面,这些小的三角面就称为 B 样条,B-spline。

线框模型
线框模型

线框模型

表面模型
表面模型

表面模型

分类:

后端

标签:

后端

作者介绍

张春成
V2