下图中蓝色的线就是贝塞尔曲线,每条贝塞尔曲线都有控制点(下图中有四个),贝塞尔曲线必须经过第1个和最后一个控制点,并且需要和第起止控制点相切
得到两个线性插值的点后,连接着两个点,并在这两个点组成的线段上再次进行线性插值取点
将上图中线性插值出来的所有点B02都连接起来就是一条贝塞尔曲线了
如果最终得到的线性插值的点都用控制点来表示,那么,拥有三个控制点的贝塞尔曲线可以表示成如下形式
通过对系数的观察可知,n次贝塞尔曲线的参数是(t + (1-t))的n-1次方的展开
2、具有仿射变换性质,可以通过移动控制点移动整条曲线,就是说将贝塞尔曲线的控制点经过仿射变换后,将变换后的控制点连起来之后,依然是个相同的贝塞尔曲线
3、贝塞尔曲线一定不会超出所有控制点构成的多边形,如下图所示,所有的贝塞尔曲线,一定在凸包里面(蓝色线里面)。
当传统贝塞尔曲线的控制点增多时,贝塞尔曲线的形状变得难以控制
所以,就有人提出了分段处理的方法,当控制点很多时,将控制点分组,每组控制点分别绘制贝塞尔曲线,然后将这些贝塞尔曲线连接在一起,形成一个新的贝塞尔曲线
这种分段的方法可以更好的控制贝塞尔曲线的局部。但是容易产生尖点(也就是不可导点),所以,为了使贝塞尔曲线更加光滑,连接控制点处必须可导
贝塞尔曲面的绘制也是基于贝塞尔曲线,只不过新加了一个高度信息
以16个控制点为例,首先找到空间中16个控制点,每四个一组,就能得到在空间中横向四个灰色的贝塞尔曲线,之后,再进行纵向遍历,每个贝塞尔曲线上都取一个点,纵向绘制贝塞尔曲线,就能得到一个贝塞尔去面,示意动图如下
参考
GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibili
欢迎大家评论交流,作者水平有限,如有错误,欢迎指出