3D曲线2:埃尔米特(Hermite)曲线

3D曲线2:埃尔米特(Hermite)曲线

3D曲线2:埃尔米特(Hermite)曲线


1. 埃尔米特曲线

上一章中介绍的计算曲线的方式是使用通过经过点(曲线经过的点)的方式,本章介绍一种新的计算曲线的方式即通过:初始点,初始速度(向量),最终点,最终速度(向量)来计算曲线。这种计算曲线的方式就是埃尔米特曲线。


2. 三次埃尔米特曲线

三次埃尔米特是指使用初始点,初始速度(向量),最终点,最终速度(向量)四个参数来确定的三次多项式函数曲线。假设三次多项式函数P(t) = c0 + c1*x + c2*x² + c3*x³ 初始坐标点为p0,初始速度v0,终点坐标p1,终点速度v1则


由此可以计算出c0, c1, c2, c3如下:



3. 埃尔米特基函数

在上一章中我们提到过用矩阵的形式表示曲线函数:P(t) = Ct,( 如果对应到2D空间会有PX(t) = cx0 + ...., PY(t)=cy0+... 此时把c0,c1,c2......当做向量(cx-,cy0),..... C为所有参数c0,c1,c2....组成的矩阵):


这是上一章多项式曲线中的内容。在本章三次埃尔米特曲线中我们得知根据四个向量p0, v0, p1, v1可以计算出c0,c1,c2,c3即: c0 = p0; c1 = v1; c2 = -3p0 -2v0 -v1 +3p1; c3 = 2p0 + v0 +v1 - 2p1; 因此:


在埃尔米特曲线中矩阵P中的信息是已知的,因此我们可以将后两个矩阵相乘(Ht)的结果定义为埃尔米特基函数(四个基函数组成矩阵Ht)


此时的曲线函数就可以写为:


四个基函数的曲线如下,其中H3 = 3t² -2t³在图形学中被称为平滑过度函数,用于消除线性过得中的僵硬感。


注:尽管我们在图形学中最常用的是三次埃尔米特曲线,但是当我们知道起点终点加速度时就可以计算出五次埃尔米特曲线。


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)函数曲线给人的感觉是很平滑的。

发布于 2020-10-23 11:47