11、计算机图形学——几何(贝塞尔曲线与曲面)

一、贝塞尔曲线

1.1、简介

下图中蓝色的线就是贝塞尔曲线,每条贝塞尔曲线都有控制点(下图中有四个),贝塞尔曲线必须经过第1个和最后一个控制点,并且需要和第起止控制点相切

1.2、如何得到贝塞尔曲线

首先找到三个控制点

然后取线段b0b1上的一个点,获取的方法依然是线性插值

然后取线段b1b2上的一个点,获取的方法也是线性插值

得到两个线性插值的点后,连接着两个点,并在这两个点组成的线段上再次进行线性插值取点

将上图中线性插值出来的所有点B02都连接起来就是一条贝塞尔曲线了

四个控制点或者五个控制点都是同理

贝塞尔曲线线性插值的动画如下

 

如果最终得到的线性插值的点都用控制点来表示,那么,拥有三个控制点的贝塞尔曲线可以表示成如下形式

拥有四个控制点的贝塞尔曲线的行使如下

通过对系数的观察可知,n次贝塞尔曲线的参数是(t + (1-t))的n-1次方的展开

二、贝塞尔曲线的性质

1、必定经过起止控制点且与起终线段相切

2、具有仿射变换性质,可以通过移动控制点移动整条曲线,就是说将贝塞尔曲线的控制点经过仿射变换后,将变换后的控制点连起来之后,依然是个相同的贝塞尔曲线

3、贝塞尔曲线一定不会超出所有控制点构成的多边形,如下图所示,所有的贝塞尔曲线,一定在凸包里面(蓝色线里面)。

三、贝塞尔曲线的改进

当传统贝塞尔曲线的控制点增多时,贝塞尔曲线的形状变得难以控制

所以,就有人提出了分段处理的方法,当控制点很多时,将控制点分组,每组控制点分别绘制贝塞尔曲线,然后将这些贝塞尔曲线连接在一起,形成一个新的贝塞尔曲线

这种分段的方法可以更好的控制贝塞尔曲线的局部。但是容易产生尖点(也就是不可导点),所以,为了使贝塞尔曲线更加光滑,连接控制点处必须可导

四、贝塞尔曲面

贝塞尔曲面的绘制也是基于贝塞尔曲线,只不过新加了一个高度信息

以16个控制点为例,首先找到空间中16个控制点,每四个一组,就能得到在空间中横向四个灰色的贝塞尔曲线,之后,再进行纵向遍历,每个贝塞尔曲线上都取一个点,纵向绘制贝塞尔曲线,就能得到一个贝塞尔去面,示意动图如下

参考

GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibili 

Bezier Curve Edit (hws.edu)

欢迎大家评论交流,作者水平有限,如有错误,欢迎指出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值