网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2024/9/17 浏览:3 次 )

当我们学习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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:matlab中乘法“*”和点乘“.*”;除法“/”和点除“./”的联系和区别
下一篇:HTTP请求返回415错误码定位解决方法
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 SiteMap