Hermite (埃尔米特)曲线
2017-10-10 09:54
232 查看
文章转自:http://www.cnblogs.com/jqm304775992/p/5044728.html
版权归原作者!
小编觉得这篇Hermite曲线的讲解比较好懂!赞一个!
2. 矩阵形式
3. 推导
如上图有四个点,假如P0、P2是端点,那么向量R0=(P1-P0),R1=(P3-P2),将数据带入调和函数,即求得曲线。
在程序中,我们通常会使用特殊方法处理顶点之间的关系。
图中含有3个顶点,我们把每挨着的两个顶点看做是一条Hermite曲线,P0和P1是两个端点,那么现在,我们如何求得R1呢? 我们现在构建连个参考点F1,F2。
令 F1 = P0; F2 = P2;
那么 R1 = P1-F1; R2 = F2-P1;
然后将此值带入曲线函数,即可为求得的曲线。
1. 实现编辑器闭合曲线和非闭合曲线的绘制;
2. 运行脚本,可以实现物体跟随曲线路径移动,可以勾选旋转跟随与不跟随;
3. 如果不进行自动跟随曲线路径,可以修改时间值,移动物体。
(原文章中此处贴了两段代码,小编在转载时予以略去)
Unity 3D 项目工程
http://download.csdn.net/detail/familycsd000/9365859
版权归原作者!
小编觉得这篇Hermite曲线的讲解比较好懂!赞一个!
Hermite 曲线
已知曲线的两个端点坐标P0、P1,和端点处的切线R0、R1,确定的一条曲线。参数方程
1. 几何形式2. 矩阵形式
3. 推导
例子分析
如上图有四个点,假如P0、P2是端点,那么向量R0=(P1-P0),R1=(P3-P2),将数据带入调和函数,即求得曲线。
在程序中,我们通常会使用特殊方法处理顶点之间的关系。
图中含有3个顶点,我们把每挨着的两个顶点看做是一条Hermite曲线,P0和P1是两个端点,那么现在,我们如何求得R1呢? 我们现在构建连个参考点F1,F2。
令 F1 = P0; F2 = P2;
那么 R1 = P1-F1; R2 = F2-P1;
然后将此值带入曲线函数,即可为求得的曲线。
程序代码
该代码是Unity脚本代码:1. 实现编辑器闭合曲线和非闭合曲线的绘制;
2. 运行脚本,可以实现物体跟随曲线路径移动,可以勾选旋转跟随与不跟随;
3. 如果不进行自动跟随曲线路径,可以修改时间值,移动物体。
(原文章中此处贴了两段代码,小编在转载时予以略去)
路径漫游
在曲线函数中,参数t取值[0,1],将曲线进行分段。那么能够计算出每一个点的位置。因此,在路径漫游中,我们从原点出发,将t的增量作为下一个点位置,进行插值移动。就实现了路径漫游,同时进行朝向下一个顶点旋转,就可以使看的方向随着曲线变化。Unity 3D 项目工程
http://download.csdn.net/detail/familycsd000/9365859
相关文章推荐
- 学成绩不佳的数学大师─埃尔米特 (Hermite)
- glsl smoothstep 属于埃尔米特(Hermite)插值
- 学成绩不佳的数学大师─埃尔米特 (Hermite)
- 样条之埃尔米特(Hermite)插值函数
- OpenGL绘制简单的参数曲线(一)——三次Hermite曲线
- Q145: 三次曲线对比及其矩阵表示(Bezier, B-Spline, Hermite, Catmull-Rom)
- 学成绩不佳的数学大师─埃尔米特 (Hermite)
- 埃尔米特(Hermite)插值
- 埃尔米特(Hermite)插值及其MATLAB程序
- 样条之埃尔米特(Hermite)插值函数
- Hermite 与 Bezier 曲线的绘制
- Hermite曲线公式
- 图形学中的Hermite曲线
- 样条之埃尔米特(Hermite)
- Hermite曲线的思考
- OpenGL实现Hermite算法绘制三次曲线
- 样条之埃尔米特(Hermite)
- [转载] Hermite 与 Bezier 曲线的绘制
- OpenGL - Hermite算法多点画光滑曲线
- 基于OpenCV的三次多项式曲线拟合