时间:2021-05-26
当我们学习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')显示图像如下:
同样用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')下面绘制表面带有渐变颜色的图像,可以通过 surf 和 surfc 命令实现,只要简单更改上面例子中的命令为:
surf(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')则图像如下所示,图像表面的颜色与高度是相称的:
若使用surfc则会在图像中留下映像:
surfc(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')还可以调用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内置函数来产生像球形或圆柱形这样的基本图像,例如:
t = 0:pi/10:2*pi;[X,Y,Z] = cylinder(1+sin(t));surf(X,Y,Z),colormap('default');axis square会得到如下图像:
试试另一个稍微有点不同的函数,阴影设置为faceted:
t = 0:pi/10:2*pi;[X,Y,Z] = cylinder(1+cos(t));surf(X,Y,Z),shading faceted;axis square若将阴影设置为shading flat,则图像显示为:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Matplotlib也可以绘制3D图像,与二维图像不同的是,绘制三维图像主要通过mplot3d模块实现。但是,使用Matplotlib绘制三维图像实际上是在二维
cad是应用最广泛的计算机辅助设计软件之一,不仅画二维草图出色,画三维图的功能也越来越完善,下面教大家cad三维图怎么画。 1、首先打开cad软件,然后在
用Matplotlib画三维图最基本的三维图是由(x,y,z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情
前言在遇到三维数据时,三维图像能给我们对数据带来更加深入地理解。python的matplotlib库就包含了丰富的三维绘图工具。1.创建三维坐标轴对象Axes3
以cad为例,画三维图的方法: 1、鼠标放在工具栏上点击鼠标右键,调出建模工具栏,在前面打勾,就可调出工具栏。 2、做个简单例子,做一个圆柱的三维图。先画圆