张春成
V2
2022/09/06阅读:33主题:默认主题
B 样条
B 样条
一般来说,立体渲染需要首先获取物体的三维模型。
而在有限信息的情况下,完全的三维模型往往难以取得,这就需要进行估计。
本系列将一步一步来,先从 B 样条开始。
B 样条是一种经典的物体表面估计方法。
什么是样条
样条这个名称比较晦涩,但如果我们抛弃掉这个名词,换个通俗的名称来说,它就是“插值”。
插值,顾名思义就是从已知的点集出发,估计出一条连续的曲线。这条曲线受到已知点的控制,比如我们可以指定曲线的全部点与已知点之间的“距离最小”,并且对曲线进行一些约束,比如使它的“曲率”满足特定的要求。
插值的方法有很多,这里考虑经典的贝赛尔曲线(Bezier curve),它能够在曲率连续的约束下,经过各个控制点,且各个点的“方向导数”也是可控的。
这时,已知的点集称为“控制点”,这条线就称为“样条”。

贝塞尔曲线样例
基于 B 样条的表面模型
我们把二维贝塞尔曲线拓展到三维空间,就可以实现控制点约束下的二维表面构造。简单理解,就是上图的二维曲线升级成了三维表面。
再将三维表面进行数字化切分,切分成大量的小型三角面,这些小的三角面就称为 B 样条,B-spline。

线框模型

表面模型
作者介绍
张春成
V2