曲线平滑算法:三次Hermite曲线生成

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

目录

 1.三次Hermite曲线的参数方程

2. 三次Hermite曲线的绘制


         Hermite曲线是通过给定曲线的两个端点的位置矢量、以及两个端点处的切线矢量、来描述曲线的,如图1所示。这里先对Hermite曲线进行数学公式推导,然后讲述如何绘制Hermite曲线。(这里是算法代码)

曲线平滑算法,Hermite曲线,曲线平滑,曲线拟合,三次Hermite曲线
图1 Hermite曲线

 1.三次Hermite曲线的参数方程

        三维空间中的自由曲线用三次参数方程表示可以用以下的形式:

曲线平滑算法,Hermite曲线,曲线平滑,曲线拟合,三次Hermite曲线

或者:

曲线平滑算法,Hermite曲线,曲线平滑,曲线拟合,三次Hermite曲线

其中,参数t的取值范围是,这是归一化坐标,表示从端点1到端点2的的相对距离。

将以上参数方程改写为矩阵形式为:

若令

对参数t的一阶导数得:

        假定已知曲线的两个端点的位置矢量、以及两个端点处的切线矢量、,如图1所示。注意位置矢量和切线矢量都有x,y等分量。这四个量实际上对应于将t=0好t=1代入、得到的结果,即:

用矩阵方程表示为:

即为Hermite矩阵,为常数,为Hermite几何矢量。

于是曲线又可以表示为:

因为上面的和都是三维空间的矢量,有x,y,z三个分量:

于是将曲线Q展开成分量形式如下:

        显然,只要给定,就可以在的范围内求出,形成曲线上点的轨迹。称之为Hermite基函数。对基函数进行进一步展开,得到四个分量:

曲线平滑算法,Hermite曲线,曲线平滑,曲线拟合,三次Hermite曲线

曲线平滑算法,Hermite曲线,曲线平滑,曲线拟合,三次Hermite曲线

曲线平滑算法,Hermite曲线,曲线平滑,曲线拟合,三次Hermite曲线

于是曲线上的轨迹点,又可以通过以下公式表示:

曲线平滑算法,Hermite曲线,曲线平滑,曲线拟合,三次Hermite曲线

曲线平滑算法,Hermite曲线,曲线平滑,曲线拟合,三次Hermite曲线

曲线平滑算法,Hermite曲线,曲线平滑,曲线拟合,三次Hermite曲线

2. 三次Hermite曲线的绘制

       这里是代码下载链接:Hermite曲线绘制代码

        三次Hermite曲线的绘制,需要四个参数进行控制,分别是两个端点坐标和两个端点处的切线矢量,比如给定两个点的三维坐标P0(1,4,0)、P1(2,6,0),以及两个端点的切线矢量R0(1,-1,0)、R1(1,-1,0),其绘制的Hermite曲线如下:

曲线平滑算法,Hermite曲线,曲线平滑,曲线拟合,三次Hermite曲线
图2 两点三次Hermite曲线

         对于多点Hermite平滑,则是从头到尾,逐步取相邻的两个点,分别求出两点之间的Hermite曲线轨迹,比如,6个散点的Hermite曲线绘制的图像如下:文章来源地址https://www.toymoban.com/news/detail-559686.html

曲线平滑算法,Hermite曲线,曲线平滑,曲线拟合,三次Hermite曲线
图3 6点三次Hermite曲线

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

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

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

相关文章

  • 一文速学-最小二乘法曲线拟合算法详解+项目代码

    目录 前言 一、曲线拟合策略 二、最小二乘法理论基础 1.残差 原理 特征 选取策略 2.最小二乘原则 定义 解法总览 三、最小二乘解法 1.确定函数类 2.求解方程 极小值原理: 求解方程组 定理 特例 四、代码实现 点关注,防走丢,如有纰漏之处,请留言指教,非常感谢 我们知道

    2024年02月06日
    浏览(48)
  • C++:RANSAC采样一致性算法拟合一元二次曲线

    这里会用到线性代数里的一些知识,每次都是用起来看,用完了又忘,这里把一些可能用到的贴出来,用于快速理解算法里用到的公式等。 直线一般式 对于一元二次多项式,可以转换为线性方程组求解,我们一般写成矩阵形式 Ax = y。 Ax = y非一致方程和一致方程的求解 一致

    2024年02月16日
    浏览(38)
  • 计算机图形学:三次Bezier曲线的绘制(算法原理及代码实现)

    一、实现方案        贝塞尔曲线原理:贝塞尔曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一。它通过控制曲线上的四个点(起始点、终止点以及两个相互分离的中间点)来创造、编辑图形。其中起重要作用的是位于曲线中央的控制线。这条

    2024年02月11日
    浏览(52)
  • 分段三次Hermite插值的原理、matlab代码和Python代码

    目录 一、分段三次Hermite插值 二、分段三次Hermite插值多项式的推导 三、分段三次Hermite插值的matlab实现  四、分段三次Hermite插值的Python实现 已知,求一个分段函数H(x),使其满足: (1) (2)在每个子区间  上,H(x)是次数不超过3的多项式。 称满足上述条件的函数H(x)为分段

    2024年02月05日
    浏览(42)
  • 三次样条样条: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次曲线。通过两个点的多项式曲线为一次,三个点的多项式曲线为二次。当点数较多时,曲线阶数增高,在端点处易出现

    2024年02月04日
    浏览(43)
  • 曲线生成 | 图解B样条曲线生成原理(基本概念与节点生成算法)

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

    2024年02月19日
    浏览(43)
  • c++计算贝塞尔曲线(折线平滑为曲线)坐标方法

    效果可查看上一篇博文: js手动画平滑曲线,贝塞尔曲线拟合 【代码】js手动画平滑曲线,贝塞尔曲线拟合。 https://blog.csdn.net/qiufeng_xinqing/article/details/131711963?spm=1001.2014.3001.5502 代码如下:

    2024年02月16日
    浏览(36)
  • 曲线拟合和函数拟合在线工具

    曲线拟合在线工具(跟距据几个坐标点求方程) 链接:https://qianqianquege.com/math 名称:千千工具箱    

    2024年03月21日
    浏览(49)
  • 欠拟合、过拟合、正则化、学习曲线

    欠拟合:模型相对于要解决的问题来说太简单了,模型并没有拟合训练数据的状态 过拟合:模型相对于要解决的问题来说太复杂了,模型只能拟合训练数据的状态 下图来自:数据分析中的插值与拟合(2) —— 拟合 如何避免过拟合呢? 增加全部训练数据的数量 使用简单模型

    2024年02月11日
    浏览(44)
  • echarts折线图流动特效的实现(非平滑曲线)

    echarts官网:series-lines 注意:流动特效只支持非平滑曲线(smooth:false) series-lines路径图 : 用于带有起点和终点信息的线数据的绘制,主要用于地图上的航线,路线的可视化。 ECharts 2.x 里会用地图上的 markLine 去绘制迁徙效果,在 ECharts 3 里建议使用单独的 lines 类型图表。

    2024年02月14日
    浏览(44)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包