matlab画三维图像的示例代码(附demo)

作者:不做程序猿 时间:2023-10-03 11:39:44 

当我们学习surface命令时,已经看到了三维作图的一些端倪。在matlab中我么可以调用mesh(x,y,z)函数来产生三维图像。

首先,我们用z=cos(x)sin(y)在-2pi ≤x,y≤ 2pi内的图像来看看:


[x,y] = meshgrid(-2*pi:0.1:2*pi);
z = cos(x).*sin(y);
mesh(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')

显示图像如下:

matlab画三维图像的示例代码(附demo)

同样用mesh命令产生z = ye-(x2+y2)的三维图像:


[x,y] = meshgrid(-2:0.1:2);
z = y.*exp(-x.^2-y.^2);
mesh(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')

matlab画三维图像的示例代码(附demo)

下面绘制表面带有渐变颜色的图像,可以通过 surf 和 surfc 命令实现,只要简单更改上面例子中的命令为:


surf(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')

则图像如下所示,图像表面的颜色与高度是相称的:

matlab画三维图像的示例代码(附demo)

若使用surfc则会在图像中留下映像:


surfc(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')

matlab画三维图像的示例代码(附demo)

还可以调用surfl(命令中的'l'表示这是一个光照表面 lighted surface)命令显示三维光照物体的表面,可以使用这个命令产生没有线条的三维图像,图像还可以是彩色的或灰度的。例如仍然产生函数z = ye-(x2+y2)的灰度图像,图像中的阴影可设置为flat、interp、faceted:


surfl(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')
shading interp;
colormap(gray);

matlab画三维图像的示例代码(附demo)

下面我们使用matlab内置函数来产生像球形或圆柱形这样的基本图像,例如:


t = 0:pi/10:2*pi;
[X,Y,Z] = cylinder(1+sin(t));
surf(X,Y,Z),colormap('default');
axis square

会得到如下图像:

matlab画三维图像的示例代码(附demo)

试试另一个稍微有点不同的函数,阴影设置为faceted:


t = 0:pi/10:2*pi;
[X,Y,Z] = cylinder(1+cos(t));
surf(X,Y,Z),shading faceted;
axis square

matlab画三维图像的示例代码(附demo)

若将阴影设置为shading flat,则图像显示为:

matlab画三维图像的示例代码(附demo)

来源:https://www.cnblogs.com/aixuexihs/p/10620200.html

标签:matlab,三维图像
0
投稿

猜你喜欢

  • Go语言基础数组用法及示例详解

    2024-04-26 17:33:52
  • asp如何随机显示网站链接?

    2010-06-07 20:40:00
  • R语言绘制条形图及分布密度图代码总结

    2023-12-19 13:27:56
  • CSS编写过程中常见的10个错误

    2008-05-29 12:49:00
  • asp截取字符串的两种应用

    2009-08-19 17:11:00
  • Flash真的适合做网站应用吗?

    2011-04-16 10:34:00
  • python使用正则表达式(Regular Expression)方法超详细

    2022-09-07 14:30:53
  • 如何通过配置自动实现ValueList中hql语句的整型参数转换

    2024-01-24 14:59:21
  • Python的索引与切片原来该这样理解

    2023-11-21 16:17:51
  • pytorch模型转onnx模型的方法详解

    2021-07-20 06:36:37
  • MySQL-tpch 测试工具简要手册

    2024-01-12 16:12:46
  • Python使用POP3和SMTP协议收发邮件的示例代码

    2023-10-03 15:37:28
  • MySQL删除外键、增加外键以及删除主键、增加主键的实战步骤

    2024-01-26 00:58:52
  • uniapp实现支付功能

    2023-08-21 13:53:47
  • 利用Anaconda简单安装scrapy框架的方法

    2021-05-28 15:47:13
  • 简单介绍python封装的基本知识

    2022-04-16 18:51:11
  • python3爬虫中多线程进行解锁操作实例

    2021-04-29 00:16:42
  • pytorch 计算ConvTranspose1d输出特征大小方式

    2021-08-14 10:16:16
  • 关于Python Socket编程的要点详解

    2021-11-25 17:44:11
  • VUE 实现一个简易老虎机的项目实践

    2024-05-10 14:19:17
  • asp之家 网络编程 m.aspxhome.com