完整版009三维绘图Word格式.docx

上传人:b****2 文档编号:15174705 上传时间:2022-10-28 格式:DOCX 页数:12 大小:477.75KB
下载 相关 举报
完整版009三维绘图Word格式.docx_第1页
第1页 / 共12页
完整版009三维绘图Word格式.docx_第2页
第2页 / 共12页
完整版009三维绘图Word格式.docx_第3页
第3页 / 共12页
完整版009三维绘图Word格式.docx_第4页
第4页 / 共12页
完整版009三维绘图Word格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

完整版009三维绘图Word格式.docx

《完整版009三维绘图Word格式.docx》由会员分享,可在线阅读,更多相关《完整版009三维绘图Word格式.docx(12页珍藏版)》请在冰豆网上搜索。

完整版009三维绘图Word格式.docx

origin'

xlabel('

X'

ylabel('

Y'

zlabel('

Z'

grid;

运行结果:

 

二.三维曲面

即二元函数z=f(x,y)的图像,定义域(x,y的范围)选XY平面上矩形区域,然后把矩形定义域分割成若干小矩形块(中间生成网格点),再根据函数在各个网格点上的取值(z值)绘制三维图形。

1.利用meshgrid函数分割定义域生成网格点

x=a:

dx:

b;

y=c:

dy:

d;

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

当x=y时,可以写成meshgrid(x)

2.绘制三维曲面

mesh()用来绘制三维网格图,而surf()用来绘制三维曲面图,各线条之间的补面用颜色填充。

其调用格式为:

mesh(x,y,z,c)

surf(x,y,z,c)

一般x,y是两个一维向量,按照前面分析,z必须是二维矩阵【length(y)×

length(x)】;

c用于指定在不同高度下的颜色范围,默认c=z,即颜色的与图形的高度成正比。

例2

(1)mesh()绘制三维网格图示例【线条有颜色,线条间补面无颜色】

x=0:

0.1:

[x,y]=meshgrid(x);

z=sin(y).*cos(x);

mesh(x,y,z);

x-axis'

),ylabel('

y-axis'

),zlabel('

z-axis'

mesh'

pause;

(2)surf()绘制三维曲面图示例【线条都是黑色,线条间补面有颜色,且网格图线条颜色和补面颜色都是沿z轴按照图形高度变化的】

surf(x,y,z);

surf'

(3)plot3()绘制三维曲面图示例【三维曲线组合而成】

plot3(x,y,z);

plot3-1'

3.特殊功能的mesh()和surf()函数【其用法类似】

meshc()和surfc()——在xy平面上绘制曲面在z轴方向的等高线;

meshz()——在xy平面上绘制曲面的底座;

surfl()——具有光照效果。

例3在xy平面内选择[-8,8]×

[-8,8]绘制函数,

[x,y]=meshgrid(-8:

0.5:

8);

z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2+eps);

subplot(2,2,1);

meshc(x,y,z);

meshc'

subplot(2,2,2);

meshz(x,y,z);

meshz'

subplot(2,2,3);

surfc(x,y,z);

surfc'

subplot(2,2,4);

surfl(x,y,z);

title('

surfl'

4.特殊的三维曲面

(1)[x,y,z]=sphere(n);

mesh(x,y,z)

——单位球面【n默认是20,越大越圆滑】;

(2)[x,y,z]=cylinder(R,n);

——柱面【R半径向量,n同上】

例:

cylinder(3)生成一个圆柱;

cylinder([10,1])生成一个圆锥;

pi/100:

4*pi;

R=sin(t);

cylinder(R,30)生成一个正弦圆柱面。

(3)peaks函数,称为多峰函数,常用于三维曲面的演示。

例4绘制特殊三维曲面

pi/20:

[x,y,z]=cylinder(2+sin(t),30);

subplot(1,3,1);

subplot(1,3,2);

[x,y,z]=sphere;

subplot(1,3,3);

[x,y,z]=peaks(30);

meshz(x,y,z);

5.其他三维图形

介绍二维图形时,曾提到条形图、杆图、饼图和填充图等特殊图形,它们还可以以三维形式出现,其函数分别为bar3(),stem3(),pie3()和fill3()

另外,还有瀑布图waterfall(),二维、三维等高线图contour()和contour3()

例5

(1)绘制魔方阵的三维条形图;

(2)以三维杆图形式绘制曲线y=2sinx;

(3)已知x=[2347,1827,2043,3025],绘制三维饼图 

(4)用随机的顶点坐标值画出五个黄色三角形

bar3(magic(4));

y=2*sin(0:

pi/10:

2*pi);

stem3(y);

pie3([2347,1827,2043,3025]);

fill3(rand(3,5),rand(3,5),rand(3,5),'

y'

例6绘制多峰函数的瀑布图和等高线图。

subplot(1,2,1);

[X,Y,Z]=peaks(30);

waterfall(X,Y,Z);

XX'

YY'

ZZ'

subplot(1,2,2);

contour3(X,Y,Z,12,'

k'

%其中12代表高度的等级数

xlabel('

三.三维图形的精细处理

1.视点处理

现实世界里从不同的角度观察物体,所看到的物体形状是不一样的。

Matlab提供了设置视点的view()函数:

view(az,el)

其中az为方位角,el为仰角,均以度为单位。

系统默认的为方位角为-37.5度,仰角30度。

例7从不同视点绘制多峰函数曲面

mesh(peaks);

view(-37.5,30);

1'

view(0,90);

2'

view(90,0);

3'

view(-7,-10);

4'

2.色彩处理

(1)色图——设置当前图形窗的着色。

colormap(m×

3矩阵);

或colormap(系统预定义色图名);

(2)浓淡处理

shading+faceted(默认,立体感强)/interp(细腻)

(3)透明控制——例如alpha(0.5)表示半透明

(4)灯光设置light()与照明设置lighting()【略】

3.图形的裁剪处理

Matlab中用NaN表示“非数”,将图形中需要裁剪部分对应的函数值设置成NaN,这样在绘制图形时,函数值为NaN的部分将不显示出来,从而达到对图形进行裁剪的目的。

例8绘制两个球面,其中一个在另一个里面,将外面的球裁掉一部分,以便能看到里面的球。

[x,y,z]=sphere(25);

%生成外面的大球

z1=z;

z1(:

1:

4)=NaN;

%将大球裁去一部分

c1=ones(size(z1));

surf(3*x,3*y,3*z1,c1);

%生成里面的小球

holdon

z2=z;

c2=2*ones(size(z2));

c2(:

4)=3*ones(size(c2(:

4)));

surf(1.5*x,1.5*y,1.5*z2,c2);

colormap([010;

0.500;

100]);

gridon

holdoff

四.隐函数作图——ezplot函数(见上节)

其他隐函数绘图还有,ezpolar,ezcontour,ezplot3,ezmesh,ezmeshc,ezsurf,ezsurfc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1