Matlab中可以使用interp函数和griddata函数来实现插值,从而得到拟合曲面

从曲面上采样

离散点拟合曲面

1.离散点采样

为了获取离散点,首先需要从某个特定的曲面上采样。

其中利用数学的方法,就是先生成采样曲线的x-y坐标,并根据曲面方程获取对应的z值;

%我们以螺旋采样为例

%构建采样的坐标点x-y

theta = 0:0.025*pi:10*pi;

r7 = 0 + 0.1*theta;

x = r7.*cos(theta)+3;

y = r7.*sin(theta)+3;plot(x,y,'.')

[X,Y] = meshgrid(x,y);

%在对应曲面方程上采样

Z = rand*(sin(X+rand*2*pi)+sin(Y+rand*2*pi));

surf(X,Y,Z);shading interp

figure

z = diag(Z); %对应x,y坐标点处的z

plot3(x,y,z,'.b')

原曲面与采样点云

另一种则是利用栅格与插值的方法来获取对应的z值:

%Based surface

x0 = linspace(0,2*pi,128);

y0 = linspace(0,2*pi,128);

[X0,Y0] = meshgrid(x0,y0);

Z0= rand*(sin(X0+rand*2*pi)+sin(Y0+rand*2*pi));

%而后生成采样栅格

theta = 0:0.025*pi:10*pi;

r7 = 0 + 0.1*theta;

x = r7.*cos(theta)+3;

y = r7.*sin(theta)+3;plot(x,y,'.')

[X,Y] = meshgrid(x,y);

%此处用重新插值的方法获得采样点的坐标

%相当与在原图上做了重新的插值,查到了螺旋线栅格化后的点

Z = interp2(X0,Y0,Z0,X,Y);

surf(X,Y,Z);shading interp

figure

z = diag(Z); %对应x,y坐标点处的z

plot3(x,y,z,'.b')

此时的曲面和采集到的点云如下:

2.曲面拟合

在有了点云之后,需要将x-y-z数据变成栅格化数据才能够调用mesh,surf等函数绘制图形。

%目标曲面的大小,需要先生成一个栅格

%一般与点云大小相当

xn = linspace(0,2*pi,128);

yn = linspace(0,2*pi,128);

[Xn,Yn] = meshgrid(xn,yn);

%利用griddata来插值,从xyz生成栅格数据

%最后一个为插值方法,包linear cubic natural nearest和v4等方法

%v4方法耗时长但较为准确

Zn = griddata(x,y,z,Xn,Yn,'v4');

surf(Xn,Yn,Zn);shading interp

figure

mesh(Xn,Yn,Zn)

hold on

plot3(x,y,z,'r+','MarkerSize',3)

拟合出的曲面结果,以及包含采样点的mesh图:

matlab空间曲面拟合,【Matlab】离散点拟合曲面相关推荐

  1. matlab空间曲面拟合,matlab如何进行曲面拟合

    matlab如何进行曲面拟合以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在一丘陵地带测量高程,x和 y方向每隔100 ...

  2. 【Matlab】离散点拟合曲面

    Matlab中可以使用interp函数和griddata函数来实现插值,从而得到拟合曲面 从曲面上采样 离散点拟合曲面 1.离散点采样 为了获取离散点,首先需要从某个特定的曲面上采样. 其中利用数学的 ...

  3. matlab空间重采样,matlab重采样函数

    然后在 Matlab 软件平台下,利用函数 wavread 对语音信号进行采样,记住采样频率 和采样点数.首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换 (FFT 变换...... col ...

  4. MATLAB画四分之一球封口,在MATLAB中如何将离散点拟合成曲面图

    刚好之前研究三维曲面的拟合,其实matlab中选择有很多,以下给一个例子吧: clc clear all close all A=[1.109,1.059,1718;2.021,0.841, 1758 ...

  5. matlab 空间方程,matlab - 如何从MNA方程组到MATLAB中的状态空间[A,B,C,D] mimo? - 堆栈内存溢出...

    我想以编程方式从生成的MNA(修正的节点分析)方程组生成状态空间[ABCD]系统. 我不知道要调用哪个MATLAB函数. 我使用Erik Cheever的SCAM 链接脚本生成方程组. 我制作了文件e ...

  6. matlab曲面拟合的算法,Matlab三维节点拟合出平滑曲面,并求拟合曲面与底部投影形成的体积以及投影面积...

    xyz对应一个三维节点,其中,x,y在区间12.2986,32.1627和-0.01501,15.01之间,这些坐标点的投影类似于一个矩形 但不是规整矩形.要做的就是用Matlab将这些离散三维坐标点 ...

  7. Zernike函数拟合曲面--MATLAB实现

    利用前36阶zernike函数拟合曲面: 脚本程序 clc;clear; load unwrap_ph.mat unwrap_ph=max(max(unwrap_ph))-unwrap_ph; unw ...

  8. phython拟合曲面方程_python数据关系型图表散点图系列曲面拟合图

    曲面拟合图 曲面拟合用于二维变量与目标函数之间关系的分析: 曲面拟合: 根据实际实验测试数据,求取函数f(x,y)与变量x及y之间的解析式,使其通过或近似通过所有的实验测试点:即使所有实验数据点能近似 ...

  9. matlab三维空间标点,matlab的空间三维作图及符号作图.ppt

    matlab的空间三维作图及符号作图 数学实验 Matlab 绘图(二) 绘制三维曲线 绘制三维曲面示例 绘制三维曲面 绘制三维曲面的过程 网格生成函数 绘制三维曲面 其它三维曲面作图命令 二维曲线作 ...

最新文章

  1. RabbitMQ 入门系列(5)— RabbitMQ 使用场景优缺点
  2. Java数据类型及变量作业_day02、Java变量与数据类型
  3. nvm版本管理工具安装
  4. 机器学习:随机森林算法及其实现
  5. git学习之创建版本库
  6. HDOJ2072解题报告【字典树】
  7. Ubuntu时间显示不准确的解决方案
  8. fpga如何约束走线_FPGA时序约束实战篇之多周期路径约束
  9. java ArrayList 概述 与源码简析
  10. MMO移动游戏性能分析报告:渲染、UI、逻辑代码和内存
  11. #动态规划 0-1背包问题空间复杂度优化
  12. vs哪个版本比较好用_哪个跨境电商erp比较好用,跨境电商erp哪个好一点
  13. 通过子网掩码和ip地址计算网络地址和广播地址
  14. 记 2022年11月5日 信息安全工程师考试
  15. 微信代金券--免充值代金券创建、激活、发放,查看详情
  16. 使用 HttpWatch 分析 HTTP 协议
  17. Excel中COUNTIFS函数统计词频个数出现次数
  18. 关于动物识别论文的阅读笔记——青鳉鱼的个体识别和“面部反转效应”
  19. 通过字体映射 Fontlink 美化中文显示
  20. 六级英语 之 经济贸易

热门文章

  1. 抖音SEO优化源码,企业号搜索排名系统,矩阵同步分发。
  2. ps 如何使用钢笔工具抠图
  3. Java怎么做一个简单网页呢?
  4. 【升级华为网络设备及失败修复】
  5. 关于投资与投机、基金
  6. 什么是索引?为什么需要索引?索引的优劣势?
  7. python终端命令执行提示找不到自定义模块
  8. 5个小组,只有一个女黑客,他们居然要模仿妲己?
  9. SVD因式分解实现协同过滤-及源码实现
  10. 网络营销推广落地方案(2018最新)