![a386a0033a431d8e8ebe07c6234d472b.png](https://i-blog.csdnimg.cn/blog_migrate/2e2c78dbee4982d952acb958d2bfe047.jpeg)
3D曲线2:埃尔米特(Hermite)曲线1. 埃尔米特曲线
上一章中介绍的计算曲线的方式是使用通过经过点(曲线经过的点)的方式,本章介绍一种新的计算曲线的方式即通过:初始点,初始速度(向量),最终点,最终速度(向量)来计算曲线。这种计算曲线的方式就是埃尔米特曲线。2. 三次埃尔米特曲线
三次埃尔米特是指使用初始点,初始速度(向量),最终点,最终速度(向量)四个参数来确定的三次多项式函数曲线。假设三次多项式函数P(t) = c0 + c1*x + c2*x² + c3*x³ 初始坐标点为p0,初始速度v0,终点坐标p1,终点速度v1则
![a7c3f40d4e2d2c09822d041714fa0d73.png](https://i-blog.csdnimg.cn/blog_migrate/ba0c6d0c530cd946e5b9e2a1076b936a.png)
由此可以计算出c0, c1, c2, c3如下:
![e19a5af161906413eafe6a2d4201eddc.png](https://i-blog.csdnimg.cn/blog_migrate/797c0731d61a53bf7dc5db0edaf92e28.png)
3. 埃尔米特基函数
在上一章中我们提到过用矩阵的形式表示曲线函数:P(t) = Ct,( 如果对应到2D空间会有PX(t) = cx0 + ...., PY(t)=cy0+... 此时把c0,c1,c2......当做向量(cx-,cy0),..... C为所有参数c0,c1,c2....组成的矩阵):
![c22c9c35a24ce9d2e25691d9a20eaf8d.png](https://i-blog.csdnimg.cn/blog_migrate/950369119708f145fd149221305990a3.png)
这是上一章多项式曲线中的内容。在本章三次埃尔米特曲线中我们得知根据四个向量p0, v0, p1, v1可以计算出c0,c1,c2,c3即: c0 = p0; c1 = v1; c2 = -3p0 -2v0 -v1 +3p1; c3 = 2p0 + v0 +v1 - 2p1; 因此:
![f8eedfdc7d3b98ab9c1c40b991023da9.png](https://i-blog.csdnimg.cn/blog_migrate/b00bf636c6e392033d108a061067212b.png)
在埃尔米特曲线中矩阵P中的信息是已知的,因此我们可以将后两个矩阵相乘(Ht)的结果定义为埃尔米特基函数(四个基函数组成矩阵Ht)
![29eef6f39d63661f819da39b1cd601bf.png](https://i-blog.csdnimg.cn/blog_migrate/3ad3919cf2b96108895dfd11ecc84f49.png)
此时的曲线函数就可以写为:
![9ab353820ef535c2fe8d6f05ffda51de.png](https://i-blog.csdnimg.cn/blog_migrate/ec28eca31b2888807ac5146e3331497f.png)
四个基函数的曲线如下,其中H3 = 3t² -2t³在图形学中被称为平滑过度函数,用于消除线性过得中的僵硬感。
![9b14678ef6ea423f7cd7600eadebd0f8.png](https://i-blog.csdnimg.cn/blog_migrate/7531be41caa235aea9229372712de080.png)
注:尽管我们在图形学中最常用的是三次埃尔米特曲线,但是当我们知道起点终点加速度时就可以计算出五次埃尔米特曲线。4. 总结
- 我们除了可以通过经过点来计算曲线方程,也可以通过开始点结束的,开始速度结束速度计算曲线
- 由起点坐标P0,起点速度V0,终点坐标P1,终点速度V1可以确定一条三阶多项式曲线: P(t)=c0+c1t+c2t²+c3t³其中c0 = p0,c1 = v0, c2 = -3p0-2v0-v1+3p1, c3 =2p0+v0+v1-2p1
- 三阶埃米尔特基函数是: H0(t) = 1-3t²+2t³; H1(t) = t - 2t² + t³; H2(t) = -t² +t³; H3(t) = 3t²-2t³
- H3(t) = 3t²-2t³;也被称为平滑步长函数,可以平滑的从0过度到1。线性过度最大的问题是开始和结束的时候的值(速度)是立刻开始/结束的给人以突兀感。H3(t)函数曲线给人的感觉是很平滑的。