三次样条样条:Bézier样条和Hermite样条

这篇具有很好参考价值的文章主要介绍了三次样条样条:Bézier样条和Hermite样条。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

总结 What is the Difference Between Natural Cubic Spline, Hermite Spline, Bézier Spline and B-spline?

1.多项式拟合中的 Runge Phenomenon

找到一条通过N+1个点的多项式曲线 ,需要N次曲线。通过两个点的多项式曲线为一次,三个点的多项式曲线为二次。当点数较多时,曲线阶数增高,在端点处易出现 Runge Phenomenon。这种现象是指,在曲线阶数较高时,拟合的结果可能在端点处与实际产生很大的误差。比如下图中,蓝色曲线是实际曲线,橙色是对11个点拟合产生得到10次多项式,在端点处发生了很大的抖动。
hermite样条,杂七杂八,动态规划,线性代数

2.Bernstein Polynomials(伯恩斯坦多项式)and Bézier Curves(贝塞尔曲线)

伯恩斯坦多项式的图解:下图中,黄蓝色点从P0往P1匀速前进,在0时刻位于P0,在1时刻位于P1;类似地绿色点从P1匀速朝着P2前进,那么蓝点和绿点就是一条位置和长度都动态变化的线段。在这个前提下,红色点沿着动态的蓝绿线段“匀速”前进,“匀速”的含义是蓝红线段长度除以蓝绿线段的长度的值,等于时间t,即这个值在0时刻等于0,在1时刻等于1。
hermite样条,杂七杂八,动态规划,线性代数根据上边的情况,可以推导出红点的位置与时间t的关系为下图。可以得出,红点的位置,是P0,P1,P2的一个组合。红点的位置曲线随着三个控制点P0P1P2的变化而唯一确定。

hermite样条,杂七杂八,动态规划,线性代数
三个控制点前的系数叫做Bernstein basis polynomials,红点的位置曲线叫做二次贝塞尔曲线。可以注意到,二次贝塞尔曲线的三个控制点中,有两个在曲线上,作为曲线的起点和终点,一般是固定的。那么曲线就由第三个控制点唯一确定,在Bezier tool上通过拖动这个控制点,可以方便地获得自己想要的二次贝塞尔曲线。

伯恩斯坦二次多项式基底,注意这个基地是可以扩展到更高次的,详见bezier + spline。即对于三个控制点可以用二次贝萨尔曲线拟合,四个控制点可以用三次拟合,以此类推。高阶的贝萨尔曲线可能会比较复杂,使用分段贝萨尔曲线就可以得到B-样条。具体参考贝萨尔曲线和B样条
hermite样条,杂七杂八,动态规划,线性代数

3.Hermite Basis Polynomials and Cubic Hermite Interpolation

Hermite曲线:考虑一个关于时间t的三次多项式 p(t) = at^3 + bt^2 + ct + d,他有四个未知数,那么找到找到四个等式,那么就能解析出四个未知数。首尾端点可以构造出两个等式,Hermite曲线假设首尾端点处的斜率也是已知的,那么就有四个不相关的条件构造出四个等式,唯一地解出多项式。

Hermite多项式的**四个条件**

hermite样条,杂七杂八,动态规划,线性代数

解析出的Hermite三次多项式

hermite样条,杂七杂八,动态规划,线性代数
注意Hermite曲线与贝塞尔曲线有一个共同点 :首尾端点固定的情况下,利用某些额外的条件,寻找一条平滑的曲线。

4.三次样条

样条函数是使用最多的分段多项式插值方法,k次样条由多段k次多项式曲线组成。一个k次样条,除了函数值连续,在曲线区间内,也是k-1次可微(k-2次导数连续),并且k-1次导数连续。使用最多的是三次样条,相较于一次和二次样条,它具有平滑和变化的二阶导数,具有更多的变换性质。
hermite样条,杂七杂八,动态规划,线性代数5.

5.不同分段插值函数之间的关系

hermite样条,杂七杂八,动态规划,线性代数
自然样条:得到的曲线通过所有的节点,一个控制点位置的改变,会影响其他段的曲线,是非local的
B-spline:得到的曲线是节点的加权平均,不保证通过节点,是一种拟合,能保证二阶导连续 。且优点是移动一个控制点,其他点不一定会变化
贝塞尔曲线:由控制点确定,通过起点和终点,能保证一阶导连续
分段Hermite:给定每一段曲线起点和终点的一阶导数,就可以确定曲线,可以控制一阶导数连续。

###6. 个人总结
三次样条:得到的曲线通过每一个节点,一阶导二阶导都连续,不过当一个节点发生变化时,整个曲线需要重新计算。
B-样条:把节点认为是控制点,曲线不一定经过节点,是一个近似的拟合。优点是,可以单独改变某一段曲线,而不影响其他段。文章来源地址https://www.toymoban.com/news/detail-760156.html

到了这里,关于三次样条样条:Bézier样条和Hermite样条的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 三次样条插值(python完美实现,三种形式都有!)

    使用的是公式法迭代,没有用牛顿,我认为更加精准,牛顿只是方便手算误差自然大。 ----以上为个人思考与见解,有误请指点,有想法也可联系交流!                ~~~~~~~~~~~~~~                             谢谢观看!

    2024年02月08日
    浏览(38)
  • Opencv实现的三次样条曲线(Cubic Spline)插值

    1.样条曲线简介 样条曲线(Spline)本质是分段多项式实函数,在实数范围内有: S:[a,b]→R ,在区间 [a,b] 上包含 k 个子区间[ti−1,ti],且有: a=t0t1⋯tk−1tk=b(1) 对应每一段区间 i 的存在多项式: Pi:[ti−1,ti]→R,且满足于: S(t)=P1(t) , t0≤tt1,S(t)=P2(t) , t1≤tt2,⋮S(t)=Pk(t) , 

    2024年02月06日
    浏览(36)
  • 基于MATLAB的三维数据插值拟合与三次样条拟合算法(附完整代码)

    目录 一. 三维插值 例题1 二. 高维度插值拟合 格式一 格式二 格式三 格式四 格式五 例题2 三. 单变量三次样条插值 例题3 例题4 四. 多变量三次样条插值 例题6 首先三维网格生成是利用 meshgrid() 函数,在MATLAB中调用格式如下: 三维插值运算,主要利用griddata()函数与interp()函数

    2024年02月14日
    浏览(42)
  • 【运动规划算法项目实战】如何实现三次样条插值(附ROS C++代码)

    三次样条插值是一种广泛应用于数据拟合和插值的方法。它通过使用三次多项式在给定的一组数据点之间进行插值,以实现平滑的拟合效果。三次样条插值的优点是可以平滑地拟合给定的数据点,而不会产生震荡或振荡现象。 三次样条插值是机器人路径规划中常用的一

    2024年02月14日
    浏览(48)
  • 曲线生成 | 图解三次样条曲线生成原理(附ROS C++/Python/Matlab仿真)

    🔥附C++/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。 🚀详情:图解自动驾驶中的运动规划(Mo

    2024年01月22日
    浏览(38)
  • 【心电图信号压缩】ECG信号压缩与通过三次样条近似重建的ECG信号压缩研究(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 心电图

    2024年02月13日
    浏览(37)
  • 3.Hermite矩阵

    将线性代数中的实矩阵扩展为复矩阵 【定义】A H 矩阵 对复矩阵 A A A A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋮ a n 1 a n 2 ⋯ a n n ] A= begin{bmatrix} a_{11} a_{12} cdots a_{1n} \\\\ a_{21} a_{22} cdots a_{2n} \\\\ vdots vdots vdots \\\\ a_{n1} a_{n2} cdots a_{nn} \\\\ end{bmatrix} A = ​ a 11 ​ a 21 ​ ⋮ a n 1 ​

    2024年01月15日
    浏览(34)
  • Hermite矩阵的酉对角化

    Hermite矩阵:一个矩阵将被称作Hermite矩阵,如果他的共轭转置等于他本身 对角化:对于矩阵M(n,n)若存在一个可逆矩阵A,使得A^(-1)MA为对角矩阵,则上一操作被称为矩阵的对角化 方阵可被对角化的条件:这个(n,n)矩阵存在n个线性不相关的特征向量 酉矩阵:一个矩阵将被称作酉

    2024年02月07日
    浏览(36)
  • 矩阵理论| 特殊矩阵:Hermite矩阵/共轭对称矩阵

    Hermite矩阵是复数域上的“对称矩阵” Hermite矩阵性质 其性质 与实对称矩阵基本一致 : 实数特征值; 有一套正交的特征向量(各个特征子空间正交+代数重数=几何重数) 此外,Hermite矩阵也是复正定矩阵的前提(就如实数域中对称矩阵是正定矩阵的前提): A boldsymbol{A} A 为

    2024年02月06日
    浏览(53)
  • 【矩阵论】1. 准备知识——复数域上矩阵,Hermite变换

    矩阵论的所有文章,主要内容参考北航赵迪老师的课件 [注]由于矩阵论对计算机比较重要,所以选修了这门课,但不是专业搞数学的,所以存在很多口语化描述,而且对很多东西理解不是很正确与透彻,欢迎大家指正。我可能间歇性忙,但有空一定会回复修改的。 矩阵论 1

    2024年01月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包