相关的详细资料可以查询wiki的百科网站,个人总结,难免出现错误,欢迎指正最后
尊重原创,请勿转载! 作者:图林根的烤肠 文章来源: www.mahong.me/archives/34
要了解Hermite以及Bézier,首先来简要介绍下三次参数曲线(Parametric cubic curves)
一个空间三位曲线方程式如下图
可以转换为下图矩阵相乘的形式
了解了上面这个矩阵就可以开始正文了:
首先是Hermite 曲线,它是由一些参数决定:
a)2个首位端点P1,P4及其各自的斜率参数R1与R4
b)Hermite 几何矢量(geometry vector) GH:
c)Hermite 矩阵:
Hermite曲线最后的表述方式如前面介绍的三次参数曲线为:
Q(u)= U * Mh * Gh (其中的h应为大写的下标,无法打出便用小写h代替)
这里不仅有人要问,这Hermite矩阵为什么是这个样子,其中的推导过程在这偷个懒,直接拽张图片过来
带入上面的三次曲线方程的结果,然后对其方程式求导,带入u=0与u=1,分别求出Q(0)与Q(1)的斜率。
因为Q(u)= [P1;P4;R1;P4](这是一个4行一列的矩阵),然后会得出一个等式
又因为Gh也等于[P1;P4;R1;P4];
所以方程两边可以消去[P1;P4;R1;P4]得到等式
接下来是Bézier Curve:
这张图可以很好地介绍下Bézier Curve是一个三位空间曲线通过转换投影到2D平面的曲线
图片来源:Watt,A: 3D-Computergrafik
同上面介绍的Hermite曲线一样,Bézier curve同理表述为
其中的Pi为行向量(row-vector)
其中的推导过程就不介绍了,详情可以查询Wiki百科的Bernstein polynomia(点我连接)和 Bézier curve(点我连接)
另外推荐一篇介绍Hermite曲线的OpenGL博客,传送门点我
做人要厚道,最后附上参考资料:
3D-Repräsentation,Vorlesung Computeranimation WS 2009 © Nowak, Weigel, Kirchner, Schuller