(精品)MATLAB应用9.ppt
《(精品)MATLAB应用9.ppt》由会员分享,可在线阅读,更多相关《(精品)MATLAB应用9.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、5.4.2 四维表现四维表现色彩控制、等位线图、动画色彩控制、等位线图、动画用色彩表现的函数特征三维网线图、三维网线图、曲面图的曲面图的第第四个四个输入宗输入宗量取一些特量取一些特殊矩阵时,殊矩阵时,色彩就能表色彩就能表现或加强函现或加强函数的某特征数的某特征,如如梯度、曲梯度、曲率、方向导率、方向导数数等。等。用色彩表现的函数特征用色彩表现的函数特征 x=3*pi*(-1:1/15:1);y=x;X,Y=meshgrid(x,y);R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R;dzdx,dzdy=gradient(Z);dzdr=sqrt(dzdx.2+dzdy.2);%数
2、数据据subplot(1,3,1),surf(X,Y,Z)%色彩表现函数的高度特征色彩表现函数的高度特征title(No.1 surf(X,Y,Z),shading faceted,colorbar(horiz)subplot(1,3,2),surf(X,Y,Z,R)%色彩表现函数的半径特征色彩表现函数的半径特征title(No.2 surf(X,Y,Z,R),shading faceted;colorbar(horiz)subplot(1,3,3),surf(X,Y,Z,dzdx)%色彩表现函数的色彩表现函数的x方向导数特征方向导数特征shading faceted;colorbar(hor
3、iz)title(No.3 surf(X,Y,Z,dzdx)切片图和切片等位线图切片图和切片等位线图X,Y,Z=meshgrid(x,y,z)%产生三维自变量产生三维自变量“格点格点”数数组组slice(X,Y,Z,V,sx,sy,sz)%画画切片图切片图contourslice(X,Y,Z,V,sx,sy,sz,cvalue)%画画切片等位线切片等位线图图%x,y,z-自变量向量自变量向量;V-函数值;函数值;sx,sy,sz-切片位置,如取空阵表示不取切片;切片位置,如取空阵表示不取切片;cvalue-等位线值等位线值例:利用例:利用slice和和contourslice 表现表现MATL
4、AB提供的无限大水体中水下射流提供的无限大水体中水下射流速度数据速度数据flow clf;X,Y,Z,V=flow;%取取4个个(50*25*25)的射流数据矩阵,的射流数据矩阵,V是射流速度是射流速度x1=min(min(min(X);x2=max(max(max(X);y1=min(min(min(Y);y2=max(max(max(Y);z1=min(min(min(Z);z2=max(max(max(Z);%取坐标上下限取坐标上下限sx=linspace(x1+1.2,x2,5);sy=0;sz=0;%确定确定5个垂直个垂直x轴的切面坐标,轴的切面坐标,1个垂直个垂直y轴切面轴切面y=
5、0处,处,1个垂直个垂直z轴切面轴切面z=0处处slice(X,Y,Z,V,sx,sy,sz);%画切面图画切面图view(-33,36);shading interp;colorbar,axis offfigure(2),v1=min(min(min(V);v2=max(max(max(V);cv=linspace(v1,v2,15);%在射流速度上下限间取在射流速度上下限间取15条等位线条等位线contourslice(X,Y,Z,V,sx,sy,sz,cv);view(-12,30),colorbar%画切片等位画切片等位线图线图切片图和切片等位线图动态图形动态图形 v1、彗星状轨迹图、
6、彗星状轨迹图。comet(x,y,p)%二维彗星轨迹二维彗星轨迹comet3(x,y,z,p)%三维彗星轨迹三维彗星轨迹%彗星轨迹能动态的展示质点的运动轨迹;彗星轨迹能动态的展示质点的运动轨迹;p是决定彗是决定彗星长度的参量,缺省值为星长度的参量,缺省值为0.1。例:例:卫星返回地球的运动轨线示意卫星返回地球的运动轨线示意:R0=1;%以地球半径为一个单位以地球半径为一个单位a=12*R0;b=9*R0;T0=2*pi;%T0为轨道周期为轨道周期T=5*T0;dt=pi/100;t=0:dt:T;f=sqrt(a2-b2);%地球与另一焦点的距离地球与另一焦点的距离th=12.5*pi/180
7、;%卫星轨道与卫星轨道与x-y平面的倾角平面的倾角E=exp(-t/20);%轨道收缩率轨道收缩率x=E.*(a*cos(t)-f);y=E.*(b*cos(th)*sin(t);z=E.*(b*sin(th)*sin(t);plot3(x,y,z,g)%画全程轨线画全程轨线X,Y,Z=sphere(30);X=R0*X;Y=R0*Y;Z=R0*Z;%获得单位球坐标获得单位球坐标grid on,hold on,surf(X,Y,Z),shading interp%画地球画地球x1=-18*R0;x2=6*R0;y1=-12*R0;y2=12*R0;z1=-6*R0;z2=6*R0;axis(x
8、1 x2 y1 y2 z1 z2)%确定坐标范围确定坐标范围view(117 37),comet3(x,y,z,0.02)%设视角、画运动轨线设视角、画运动轨线动态图形动态图形v2、色图的变幻、色图的变幻。spinmap:使当前图形的色图作循环变化,产生动画效果。使当前图形的色图作循环变化,产生动画效果。该指令仅对该指令仅对256色设置有效。格式:色设置有效。格式:spinmap%使色图周期旋转约使色图周期旋转约3秒钟秒钟spinmap(t)%使色图周期旋转使色图周期旋转t秒钟秒钟spinmap(inf)%使色图无限制旋转,用使色图无限制旋转,用【ctrl+cctrl+c】键结束键结束spin
9、map(t,inc)%分别用分别用t,inc(缺省值为(缺省值为2)控制色图旋转的时间和快慢)控制色图旋转的时间和快慢peaks,spinmap spinmap(15,1)动态图形动态图形v3、影片动画。、影片动画。movie(M,k):先储存一组图形,然后回放。由于人先储存一组图形,然后回放。由于人的视觉有短暂的滞留,产生动画效果。的视觉有短暂的滞留,产生动画效果。M(i)=getframe%对当前图形拍照后产生的数据向量依次存对当前图形拍照后产生的数据向量依次存放在构架数组放在构架数组M(i)中,两个域中,两个域M(i).cdata和和M(i).colormap;movie(M,k)%以不
10、超过每秒以不超过每秒12帧的速度把帧的速度把M中的画面播放中的画面播放k次次动态图形动态图形例:三维图形的影片动画例:三维图形的影片动画 clf;x=3*pi*(-1:0.05:1);y=x;X,Y=meshgrid(x,y);R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R;h=surf(X,Y,Z);colormap(jet);axis off%画曲面图画曲面图n=12;for i=1:nrotate(h,0 0 1,25);%曲面图绕曲面图绕z轴旋转轴旋转25度度/次次mmm(i)=getframe;%捕获画面捕获画面end movie(mmm,5,10)%以每秒以每秒10
11、帧的速度重复播放帧的速度重复播放5次次动态图形动态图形v4、产生动态图形的其他方法:、产生动态图形的其他方法:-改变某参数获得一组画面,如驻波、行波的产生;改变某参数获得一组画面,如驻波、行波的产生;-对产生的三维图形,改变观察角,获得一组画面;对产生的三维图形,改变观察角,获得一组画面;-对产生的三维图形,用对产生的三维图形,用rotate指令旋转,获得一组画面。指令旋转,获得一组画面。5.5 三维图形的精细控制三维图形的精细控制v视点控制和图形的旋动视点控制和图形的旋动v色彩控制色彩控制v照明和材质处理照明和材质处理v透明处理透明处理5.5.1 视点控制和图形的旋动视点控制和图形的旋动v1
12、、视点控制视点控制view:view(az,el)%az方位角方位角(Azimuth)、el俯视角俯视角(Elevation)设置视点;设置视点;度度。缺省值缺省值az=-37.5,el=30,el=30。当。当az=0,el=90,el=90 时,图形以平面直角坐标表现。时,图形以平面直角坐标表现。view(vx,vy,vz)%vx,vy,vz是视点的直角坐标;是视点的直角坐标;v2、图形旋动、图形旋动rotate:rotate(h,direction,alpha,origin)%图柄为图柄为h的对象绕方向轴旋转的对象绕方向轴旋转%h是被旋转的对象(如线、面等)。是被旋转的对象(如线、面等)
13、。%direction有两种设置方法:球坐标法有两种设置方法:球坐标法(,),单位度;直角坐标法,单位度;直角坐标法,x,y,z,即取,即取x,y,z方向。方向。%alpha是绕方向轴遵右手法则旋转的角度。是绕方向轴遵右手法则旋转的角度。origin是方向轴的是方向轴的支点支点坐坐标,缺省时默认为坐标原点。标,缺省时默认为坐标原点。%与与view,rotate3d仅改变视点不同,仅改变视点不同,rotate通过旋转变换改变了原图形对通过旋转变换改变了原图形对象的数据象的数据 X,Y=meshgrid(-2:.2:2);Z=4*X.*exp(-X.2-Y.2);G=gradient(Z);sub
14、plot(1,2,1),surf(X,Y,Z,G)subplot(1,2,2),surf(X,Y,Z,G),view(60,30),colormap(jet)figure(2),subplot(1,2,1),surf(X,Y,Z,G),view(-2,-2,-2)subplot(1,2,2),h=surf(X,Y,Z,G);rotate(h,-2,-2,0,30,2,2,0),colormap(jet)5.5.2 色彩控制色彩控制v1、用色风格、用色风格colordefcolordef options%对对根根屏幕上的所有子对象设置缺省值屏幕上的所有子对象设置缺省值colordef(new,o
15、ptions)%对新图形窗上的所有子对象设置缺省值对新图形窗上的所有子对象设置缺省值whitebg%使当前图形窗上使当前图形窗上轴轴的背景色在黑白间切换的背景色在黑白间切换whitebg(c)%使当前图形窗上使当前图形窗上轴轴的背景色变为的背景色变为c指定的颜色指定的颜色options的取值及产生的缺省设置如下:的取值及产生的缺省设置如下:轴背景色轴背景色 图背景色图背景色 轴标色轴标色 色图色图画线用色次序画线用色次序white白白淡灰淡灰黑黑jet蓝、深绿、红、青、洋红、黄、黑蓝、深绿、红、青、洋红、黄、黑black黑黑黑黑白白jet黄、洋红、青、红、淡绿、蓝、淡灰黄、洋红、青、红、淡绿、
16、蓝、淡灰%colordef是设置图形所有对象缺省值设置的是设置图形所有对象缺省值设置的“上层上层”指令。影响其后产生的图形窗口中的所有图形对象指令。影响其后产生的图形窗口中的所有图形对象用色。用色。matlab默认默认轴轴背景色为白色。背景色为白色。whitebg仅影响当前或指定图形窗的仅影响当前或指定图形窗的轴轴背景色。背景色。C可以取字可以取字符串符串r,y等等,或取等等,或取RGB三元行向量。三元行向量。Whitebg在改变背景色的同时,轴的其他色彩性质发生在改变背景色的同时,轴的其他色彩性质发生相应的改变,使图形有尽可能好的分辨率。相应的改变,使图形有尽可能好的分辨率。colordef
17、(new,black)figure(3),subplot(1,2,1),surf(X,Y,Z,G),view(-2,-2,-2)%背景色变成黑色,坐标轴线变白色 whitebg,figure(3),surf(X,Y,Z,G)whitebg(r),figure(3),surf(X,Y,Z,G)1 25.5.2 色彩控制色彩控制v2、色图colormap:colormap(CM)%改变图形窗色图设置指令,CM为m*3的色图矩阵vMatlab提供颜色映像的数据结构来代表颜色值,定义为3列若干行的色图矩阵。每个图形窗口只能有一个m*3的色图矩阵,对所有子图执行。它的每一行是一个RGB(即红、绿、蓝(即
18、红、绿、蓝3种颜色)种颜色)三元组,数组元素在0,1区间取值,分别代表红绿蓝三种基色的相对亮度。通过对三种颜色取值大小的设置可以调制出不同颜色。色图矩阵可以直接赋值,也可以通过计算生成,此外,Matlab预定义了一些色图矩阵。v除除plot及其派生指令外,及其派生指令外,mesh,surf,contour,fill,pcolor等指令都由色等指令都由色图控制用色。图控制用色。CM=1 0 0;0 1 0;0 0 1;1 0 0;0 1 0;0 0 1,m=size(CM,1);Y=1:m+1;1:m+1;pcolor(Y),colormap(CM)CM=rand(6,3);colormap(C
19、M)colormap(autumn)CM=1 0 0;0 1 0;0 0 1;1 0 0;0 1 0;0 0 1,m=size(CM,1);Y=1:m+1;1:m+1;pcolor(Y),colormap(CM)CM=rand(6,3);colormap(CM)colormap(autumn)基色调和色色符基色调和色色符RGBRGB001蓝色 blueb110黄色 yellowy010绿色 greeng000黑色 blackk100红色 redr111白色 whitew0 11青色 cyanc0.50.50.5灰色 gray101品红色 magentam10.50橙色 orangespring
20、 青、黄浓淡色 hot黑红黄白浓淡色bone蓝色调浓淡色summer 绿、黄浓淡色 cool青、品红浓淡色prism交错光谱色autumn 红、黄浓淡色 flag红白蓝黑交错色pink淡粉红色winter 蓝、绿浓淡色 jet 蓝头红尾饱和值色 copper纯铜色调线性浓淡色常用色的RGB值常用的预定义色图矩阵CM5.5.2 色彩控制色彩控制v3、浓淡处理 shadingshading options%图形对象的浓淡处理%mesh,surf,pcolor,fill和fill3所创建图形非数据点处的着色由shading指令决定。options 可取以下3种方式:flat:网线图的某整条线段,或曲
21、面图的某整个贴片都着一种颜色,颜色取自该线段的两端,或该贴片四个顶点数据点下标最小的那点颜色。interp:网线图线段,或曲面图的贴片上各点的颜色,由该线段的两端,或该贴片四个顶点处的颜色经线性插值得到。该方法用色细腻,但费时。faceted:在flat用色基础上,再在贴片的四周勾画黑色网线。这种方法对立体的表现力最强,因此matlab将其设为缺省值缺省值。clf;Z=peaks(20);colormap(jet)subplot(1,3,1),surf(Z),title(faceted)subplot(1,3,2),surf(Z),shading flat,title(flat)subplot
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 MATLAB 应用
限制150内