第二节 MATLAB 图形处理 内容: §1 二维图形显示 §2 图形可视编辑工具 §3 三维图形显示 §4 视角变换与三视图 §1 二维图形显示 §2 图形可视编辑工具 §3 三维图形显示 §4 视角变换与三视图 §5 图像文件的读写与显示
§ 1 二维图形显示 plot(x1,y1,选项1, x2,y2,选项2,...) 1.基本二维图形绘制语句 标记符号选项 线型选项 § 1 二维图形显示 1.基本二维图形绘制语句 plot(x1,y1,选项1, x2,y2,选项2,...) 标记符号选项 ’*’ ’v’ ’.’ ’^’ ’x’ ’<’ ’o’ ’>’ ’diamond’ ’square’ ’pentagram’ ’hexagram’ 线型选项 ’-’ 实线 ’--’ 虚线 ’:’ 点虚线 ’-.’ 点划线 ’none’无线 颜色选项 ’r’ 红 ’g’ 绿 ’b’ 蓝 ’y’ 黄 ’k’ 黑 ’w’ 白 ’m’ 红紫 ’c’ 蓝绿 [r, g, b] 24位真彩
axis([ xmin , xmax , ymin , ymax ]) 2. 二维曲线的标注 axis grid title xlabel ylabel axis([ xmin , xmax , ymin , ymax ]) grid on|off title(’标题’) xlabel(’x轴标题’) ylabel(’y轴标题’) axis(范围) 范围:[ xmin , xmax , ymin , ymax ]
3. 绘图模式下鼠标的应用 ginput line text gtext [x,y,button] = ginput(n) Line(x,y) text(x,y,s) text(x,y,s,’s’) gtext(s)
axis(范围) 范围:[ xmin , xmax , ymin , ymax ] 4. 图形窗口的分割 subplot subplot( n, m, k ) %==================================== subplot(2,2,1),fplot('humps',[0 1]) subplot(2,2,2),fplot('abs(exp(-j*x*(0:9))*ones(10,1))',[0 2*pi]) subplot(2,2,3),fplot('[tan(x),sin(x),cos(x)]',2*pi*[-1 1 -1 1]) subplot(2,2,4),fplot('sin(1./x)',[0.01 0.1],1e-3) axis(范围) 范围:[ xmin , xmax , ymin , ymax ]
polar(theta,rho,选项) 5. 极坐标曲线绘制函数 rho0=1; theta=0:pi/20:4*pi; rho=rho0+theta*rho0; polar(theta,rho,':')
plot3(x,y,z,选项) comet3(x,y,z,选项) § 3 三维图形显示 stem3 bar3 pie3 1.三维曲线的绘制 § 3 三维图形显示 1.三维曲线的绘制 %========================== t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) title(‘Helix’) xlabel(‘sin(t)’) ylabel('cos(t)'),zlabel('t') text(0,0,0,'Origin') grid
.2. 标准三维曲面绘制 [x,y,z]=sphere(n) [x,y,z]=cylinder(R,n) x=2*x0;y=2*y0;z=2*z0; surf(x0,y0,z0); shading interp hold on mesh(x,y,z) colormap(hot) hold off hidden off %产生透视效果 axis equal axis off
[x,y]=meshgrid(x1:dx:x2, y1:dy:y2) 3.一般三维曲面绘制 mesh(x,y,z,c) [x,y]=meshgrid(x1:dx:x2, y1:dy:y2) %====================== x=-8:0.5:8; y=x; [X,Y]=meshgrid(x,y); R=sqrt(X.^2+Y.^2)+eps; z=sin(R)./R; mesh(z) pause subplot(2,2,1);meshc(z) subplot(2,2,3);meshz(z)
§ 4 视角变换与三视图 view(az,el) view([az,el]) view(T) [az,el]=view § 4 视角变换与三视图 1.三维图形的视角与变换矩阵 view(az,el) view([az,el]) view(T) [az,el]=view view(2); view(3) T=view 2.三维图形的三视图 mesh(x,y,z) view(az,el)
§ 5 图像文件的读写与显示 x = imread(’文件名’,’格式’) image(x) imshow(x) 1. 读图像 2. 显示图像 x = imread(’文件名’,’格式’) image(x) imshow(x)
set(h,’Cdata’,C,’Facecolor’,’texturemap’) 3. 写图像 4. 贴纹理(需要图像处理工具箱) imwrite(x,’文件名’,’格式’) warp(x,y,z,C) set(h,’Cdata’,C,’Facecolor’,’texturemap’)
[x,map]=imread('G:\图片\油画\005','jpg'); colormap(map) image(x)