贝塞尔曲线(Bezier Curve)原理及公式推导
贝塞尔曲线 (Bezier curve) 由法国数学家 Pierre Bezier 于 1962 年提出的一种矢量曲线
贝塞尔曲线(Bezier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如PhotoShop等。
![](https://wx1.sinaimg.cn/mw1024/e9ab6992gy1h6ue0pf8d1j20tt075djf.jpg)
一、贝塞尔曲线直观理解(以二阶贝塞尔曲线为例)
Step1:在二维平面内选三个不同的点并依次用线段连接。
![](https://wx1.sinaimg.cn/mw1024/e9ab6992gy1h6ue3pi7jpj20v20l5wfd.jpg)
Step2:在线段AB和BC上找到D、E两个点,使得AD/DB=BE/EC。
![](https://wx1.sinaimg.cn/mw1024/e9ab6992gy1h6ue694fotj20vp0ms3zn.jpg)
Step3: 连接DE,并在DE上找到F点,使其满足 DF/FE=AD/DB=BE/EC 抛物线的三切线定理)。
![](https://wx1.sinaimg.cn/mw1024/e9ab6992gy1h6ue9gwab3j20w80mmwfu.jpg)
Step4:找出符合上述条件的所有点。
![在这里插入图片描述](https://wx1.sinaimg.cn/mw1024/e9ab6992ly4h6ued0aed3g20a004640x.gif)
上述为一个二阶贝塞尔曲线,当然,也有n阶贝塞尔曲线:
![](https://wx1.sinaimg.cn/mw1024/e9ab6992ly4h6uehqun98g20a0046tbk.gif)
![](https://wx1.sinaimg.cn/mw1024/e9ab6992ly4h6ueif9jz1g20a004679v.gif)
![](https://wx1.sinaimg.cn/mw1024/e9ab6992ly4h6ueiz5iq3g20a004679i.gif)
![](https://wx1.sinaimg.cn/mw1024/e9ab6992ly4h6uejo34o9g20d50aiu0x.gif)
二、公式推导
1、一阶贝塞尔曲线(线性公式)
![](https://wx1.sinaimg.cn/mw1024/e9ab6992gy1h6uepl2881j214208wn1c.jpg)
![](https://wx1.sinaimg.cn/mw1024/e9ab6992ly4h6uehsilvgg20a0046tbk.gif)
![](https://wx1.sinaimg.cn/mw1024/e9ab6992gy1h6uerayos1j214z0olah8.jpg)
2、二阶贝塞尔曲线(二次方公式)
![](https://wx1.sinaimg.cn/mw1024/e9ab6992gy1h6uess46cgj213106hacv.jpg)
![](https://wx1.sinaimg.cn/mw1024/e9ab6992ly4h6ued1pkxjg20a004640x.gif)
![](https://wx1.sinaimg.cn/mw1024/e9ab6992gy1h6ueuedt7aj21520h3tgc.jpg)
3、三阶贝塞尔曲线(三次方公式)
同理可得三次贝塞尔曲线公式:
![](https://wx1.sinaimg.cn/mw1024/e9ab6992gy1h6uexutbcsj210w03qq4h.jpg)
4、n阶贝塞尔曲线(一般参数公式)
![](https://wx1.sinaimg.cn/mw1024/e9ab6992gy1h6ueyz4hbaj213i05jwhg.jpg)
![](https://wx1.sinaimg.cn/mw1024/e9ab6992gy1h6uf017bihj21500fqq7z.jpg)
这就是德卡斯特里奥算法(De Casteljau’s algorithm)。
【参考文献:
①https://blog.csdn.net/cfan927/article/details/104649623;
②https://blog.csdn.net/sinat_35676815/article/details/120884682 】