顶点式线性平均内插拟合算法

最近用Matlab做了各种不同模型的三维数据的仿真实验 ,不少需要对三维数据进行拟合,matlab 自带一个拟合工具箱(cftool),确实强大,使用工具箱做数据拟合省不少事,对数据集足够的原始模型而言,cftool能很准确的拟合出我们想要的结果。当然我们不讲Matlab ,本篇通篇跟Matlab毫无关系,~~话讲多了,下面开始。


一、数据原型

首先导入一张完整的数据表格,我们可以看到这是一个y=9 x=15 ,大小是9×15的矩阵,矩阵每个元素对应一个数值z,第二张图是我们在第一张图里面的数据对应位置挑出来的数据。大小是3×5的有效矩阵。

这样我们就在原始数据虚拟出了一个残缺度高达90%左右的数据,那我们后面的内插拟合就是针对这个残缺数据而做相应的计算。


二、插值拟合

1、概念导入

给你两个数,(129 192)让你在这两个数中间线性插入一个值,那我们插入的方式其实有很多,例如在二维平面线性 B2 =(A1+A2)/2, 或三维空间线性,我们用到如下。

A: 192 129

B :192 157 129

2、一阶拟合

经过上述的概念导入,我们接下对我们残缺数据进行一阶插值,参考下面公式

黑色框为有效的顶点数据,我们用算法遍历任意两个顶点中,只要有一个是有效数据(黑框的,这点很重要,很重要,很重要,重要的事情说三遍)插一个数据(蓝色框数据),如行相邻的129与192两个顶点内插157,129与267两个相邻顶点内插186。结果如下图所示。

第一阶内插完了吗? 不,再看上面的数据。插完第一轮后新增相邻顶点还需要内插,由于我的数据矩阵不大,第二轮插完后我的数据已经找不到相邻空白点了。如果数据矩阵非常大,在算法实现上,这个节点我们的代码可以写成递归形式,直到插完才开始退栈(效果如下)。

>3、二阶拟合

我们的二阶拟合完全是根据一阶拟合的结果来调整的,我的二阶设计是通过四个有效顶点(黑色框框为有效顶点,重要的事情说一遍)内插一个绿框数据。AD对角,BC对角,参考如下公式

注:插完之后不执行一阶拟合,一阶是需要黑框数据支持,任意两个蓝色、绿色数据不需要。

为了好看些,我把一阶的内容拿掉,如果一阶拟合出来的结果不是我下面的模型,需要进行模型转换。具体怎么弄,自己想想看,或给我留言吧(核心私聊)。

4、三阶拟合

三阶插值跟二阶插值基本是一样的,唯一不一样的地方:任意四个顶点(不限定是否黑框),参考上面公式插入。得到第二个图。

5、删除辅助点

最后告诉大家,上面除了黑色框框的为有效数据,其他颜色框框的为辅助数据,类似于解几何题作的辅助线。现在把他删掉吧。参考删除之后的结果如下。

6、与数据原型比较偏差

平均偏差7%最大偏差22%,相对来说拟合度挺好的,别忘了我只有10%的数据,要拟合90%的数据。

7、结果输出

8、总结

95%时间在想办法,5%的时间把办法写成代码。看完本篇,是否曲面拟合可以轻松搞定了?

(此算法是建立在对称,规则的模型基础上滴,暂未试过不规则模型的适应性)。走之前请点赞!

作者:showlo

链接:https://zhuanlan.zhihu.com/p/24275757

来源:知乎

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
  1. 免费下载或者VIP会员资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
  2. 提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。
  3. 找不到素材资源介绍文章里的示例图片?
    对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
  4. 付款后无法显示下载地址或者无法查看内容?
    如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理
  5. 购买该资源后,可以退款吗?
    源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源

评论(0)

提示:请文明发言