资源描述
北京科技大学数学(shxu)实验三维曲面(qmin)绘图三维曲线(qxin)绘图第1页/共30页第一页,共31页。二、二、MATLAB三维曲线三维曲线(qxin)绘图绘图 plot3三维曲线(qxin)绘制指令北京科技大学数学(shxu)实验plot3的调用格式:l plot3(X,Y,Z)l plot3(X,Y,Z,String)l plot3(X1,Y1,Z1, String1,X2,Y2,Z2, String2,)plot3与plot的 用法相同第2页/共30页第二页,共31页。例:绘制三维曲线(qxin)的图像:北京科技大学数学(shxu)实验sincosxttyttzt(020 )t , t=0:pi/10:20*pi;x=t.*sin(t);y=t.*cos(t) ;z=t;plot3(x,y,z)解:matlab命令(mng lng)为:第3页/共30页第三页,共31页。 meshgrid生成网格(wn )矩阵北京科技大学数学(shxu)实验三、MATLAB三维曲面(qmin)绘图调用格式:lX,Y=meshgrid(x,y)-生成小矩形顶点的坐 标值矩阵lX,Y=meshgrid(x) 等价于X,Y=meshgrid(x,x)第4页/共30页第四页,共31页。例:x=1,2,3;y=1,2,3,4; X,Y=meshgrid(x,y) X = 1 2 3 1 2 3 1 2 3 1 2 3 Y = 1 1 1 2 2 2 3 3 3 4 4 4北京科技大学数学(shxu)实验第5页/共30页第五页,共31页。 mesh三维网格线绘图(hu t)命令北京科技大学数学(shxu)实验 利用函数meshgrid生成格点矩阵后,再求出各格点对应的函数值,就可以利用三维网格命 mesh画出空间(kngjin)网格曲面。l mesh(Z) - Z为nm矩阵,X,Y坐标为元素的下标l mesh(X,Y,Z)-X,Y,Z分别为三维空间的坐标第6页/共30页第六页,共31页。例:x=1,2,3 y=1,2,3,4 X,Y=meshgrid(x,y) X = 1 2 3 Y =1 1 1 1 2 3 2 2 2 1 2 3 3 3 3 1 2 3 4 4 4 Z=ones(size(X);mesh(X,Y,Z)北京科技大学数学(shxu)实验第7页/共30页第七页,共31页。例: x=1:.1:3; y=1:.1:4; X,Y=meshgrid(x,y); Z=ones(size(X); mesh(X,Y,Z) 北京科技大学数学(shxu)实验第8页/共30页第八页,共31页。 surf 绘制(huzh)三维表面图北京科技大学数学(shxu)实验与三维网格图的区别:网格图:线条有颜色,空挡没有颜色曲面图:线条是黑色,空挡有颜色(把线条之间的空挡填充(tinchng)颜色,沿z轴按每一网格变化)第9页/共30页第九页,共31页。解:matlab命令为:t=-2:0.1:2;x,y=meshgrid(t);z=x.*exp(-x.2-y.2);subplot(1,2,1),mesh(x,y,z),title(网格(wn )图)subplot(1,2,2),surf(x,y,z),title(曲面图)北京科技大学数学(shxu)实验例:绘制函数 的图像(t xin),比较指令mesh和surf。,)(22yxxez2,2yx 第10页/共30页第十页,共31页。北京科技大学数学(shxu)实验第11页/共30页第十一页,共31页。例 用平行截面法讨论(toln)(toln)由方程构成的马鞍面形状。解:MatlabMatlab命令为t=-10:0.1:10;x,y=meshgrid(t);z1=(x.2-2*y.2)+eps;subplot(1,3,1),mesh(x,y,z1),title(马鞍(m n)面)a=input(a=(-50a50),z2=a*ones(size(x);subplot(1,3,2),mesh(x,y,z2),title(平面)r0=abs(z1-z2)=1;zz=r0.*z2;yy=r0.*y;xx=r0.*x;subplot(1,3,3),plot3(xx(r0=0),yy(r0=0),zz(r0=0),x)title(交线)北京科技大学数学(shxu)实验第12页/共30页第十二页,共31页。北京科技大学数学(shxu)实验马鞍(m n)面、平面及交线第13页/共30页第十三页,共31页。三维图形三维图形(txng)的控的控制命令制命令 视角控制(kngzh)命令viewview(az,el) 设置查看三维图的视点(sh din)。az为水平方位角,从y轴负方向开始,逆时针旋转为正;el为垂直方位角,以向z轴方向旋转为正。三维默认视角为az=-37.5, el=30第14页/共30页第十四页,共31页。view(x,y,z) 笛卡尔坐标系下的视角,忽略(hl)向量的幅值 第15页/共30页第十五页,共31页。 旋转控制(kngzh)命令rotaterotate(h,direction,alpha,orgin) 将图形绕方向(fngxing)旋转一个角度h-表示被旋转的对象direction-方向(fngxing)轴:可用球坐标theta,phi或直角坐标x,y,zalpha-按右手法旋转的角度orgin-支点第16页/共30页第十六页,共31页。例4-34 利用rotate函数(hnsh),从不同角度查看函数(hnsh) 22xyzxet=-2:.1:2;x,y=meshgrid(t);z=x.*exp(-x.2-y.2);subplot(121),mesh(x,y,z);subplot(122),h=mesh(x,y,z) %返回(fnhu)图形对象的句柄rotate(h,-2,-2,0,30,2,2,0)第17页/共30页第十七页,共31页。rotate3d 动态旋转命令(mng lng),可以让用户使用鼠标来旋转视角subplot(121),surf(ones(10,10)%subplot(122),h = surf(ones(10,10);rotate(h,0 0 1,45,1 0 0)for i=1:45 subplot(122),h = surf(ones(10,10);rotate(h,0 0 1,i,1 0 0)end第18页/共30页第十八页,共31页。 背景(bijng)颜色控制命令colordefcolordef white 将图形的背景颜色设置为白色colordef blackcolordef none 将图形背景和图形窗口的颜色设置为默认(mrn)的颜色colordef (fig,color_option) 将图形句柄fig图形的背景设置为color_option指定的颜色见P70 例4-36第19页/共30页第十九页,共31页。 图形颜色(yns)控制命令colormapcolormap(R,G,B) 用单色绘图, R,G,B代表一个配色方案,取值在0,1之间。通过对R、G、B大小的设置,可以调制出不同(b tn)的颜色。p71表4-5colormap(CM) CM为色图矩阵(j zhn)。色图为m*3的矩阵(j zhn)。Matlab预定义了一些色图矩阵(j zhn)的值,表4-6为常用的色图矩阵(j zhn)。第20页/共30页第二十页,共31页。z=peaks(20);CM=cool;%CM=hot;pink; %用两个已知的色图构成(guchng)新的色图surf(z)colormap(CM)colorbar %显示色度条第21页/共30页第二十一页,共31页。 图形着色(zhu s)控制命令shadingshading flat 使用平滑方式着色。网格图的某条线段或曲面图中的某整个贴片都是一种颜色,该颜色取值线段的两端或者(huzh)该贴片4个顶点中下标最小那点的颜色。shading interp 使用插值的方式为图形着色。网格图线段,或者(huzh)曲面图贴片上各点的颜色由该线段两端或该贴片4个顶点的颜色线性插值所得。shading faceted 以平面为单位进行着色,在flat用色基础上,在贴片的四周勾出黑色网线。第22页/共30页第二十二页,共31页。subplot(131),surf(peaks(40);subplot(132),surf(peaks(40);shading flatsubplot(133),surf(peaks(40);shading interp第23页/共30页第二十三页,共31页。 透视(tush)控制命令hiddenhidden on 消隐(xio yn)被遮挡的图形hidden off 透视被遮挡的图形 Matlab在绘制三维网线图和曲面图时,一般(ybn)进行消隐处理,为得到透视效果,用以下命令:第24页/共30页第二十四页,共31页。x0,y0,z0=sphere(30);X=2*x0;Y=2*y0;Z=2*z0;surf(x0,y0,z0); %画里面的小球shading interp %使用插值的方式进行着色hold on,mesh(X,Y,Z),colormap(hot),hold offhidden off %透视外面(wimin)大球看到里面小球axis equal,axis off %坐标轴三个方向上刻度增量相同,并消隐坐标轴第25页/共30页第二十五页,共31页。 光照(gungzho)控制命令lightlight(propertyname,propertyvalue,)创建光源(gungyun)并设置其属性handle=light() 返回所创建光源(gungyun)的句柄 Matlab提供(tgng)了许多函数在图形中进行对光源的定位并改变光照对象的特征,见P73表4-7.其中light函数用于设置光源。第26页/共30页第二十六页,共31页。z=peaks(50);subplot(121),surf(z)subplot(122),surf(z),light(position,20,-20,5)第27页/共30页第二十七页,共31页。对象对象(duxing)和句柄和句柄 MATLAB把构成图形的各个基本要素称为图形对象,包括图形窗口(chungku)、坐标轴、线条、曲面、文本和其它对象。 每一个对象都有一个数字来标识,叫做句柄。当每次创建一个对象时,MATLAB就为它建立一个唯一的句柄。第28页/共30页第二十八页,共31页。 作业(zuy):P79 5,7,8,9第29页/共30页第二十九页,共31页。谢谢您的观看(gunkn)!第30页/共30页第三十页,共31页。NoImage内容(nirng)总结北京科技大学数学(shxu)实验。t=0:pi/10:20*pi。x=t.*sin(t)。y=t.*cos(t)。meshgrid生成网格矩阵。mesh三维网格线绘图命令。title(交线)。每一个对象都有一个数字来标识,叫做句柄。当每次创建一个对象时,MATLAB就为它建立一个唯一的句柄。谢谢您的观看第三十一页,共31页。
展开阅读全文