MATLAB图形处理功能

上传人:jiups****uk12 文档编号:40141532 上传时间:2018-05-23 格式:DOCX 页数:11 大小:32.42KB
返回 下载 相关 举报
MATLAB图形处理功能_第1页
第1页 / 共11页
MATLAB图形处理功能_第2页
第2页 / 共11页
MATLAB图形处理功能_第3页
第3页 / 共11页
MATLAB图形处理功能_第4页
第4页 / 共11页
MATLAB图形处理功能_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《MATLAB图形处理功能》由会员分享,可在线阅读,更多相关《MATLAB图形处理功能(11页珍藏版)》请在金锄头文库上搜索。

1、四 三维图形(3-D figure)MATLAB 提供了大量三维图形的表现函数,可用于绘制三维曲线图、网格图、表面图、 伪彩图和等高线图等,还提供了控制颜色、光线、视角等绘图效果的函数和命令。1 三维曲线图(3-D plotting)plot3(x,y,z)当 x,y,z 是同样长度的矢量时,绘出的是一条在三维空间贯穿的曲线。例 1:当 x, y, z 都是一维数组时的三维曲线图。t=0:pi/50:10*pi;x=exp(-t/15).*sin(2*t);y=exp(-t/15).*cos(2*t)z=t;plot3(x,y,z)axis square; grid on如 x,y,z 都是

2、mn 阶的矩阵时,绘出的是 m 条分布在三维空间的曲线。例 2:当 x, y, z 都是矩阵时的三维曲线图。x,y=meshgrid(-2:0.1:2);z=x.*exp(-x.2-y.2);plot3(x,y,z)grid on例 3:规定线形、颜色及标记点的三维曲线图。t=0:pi/20:5*pi;plot3(sin(t),cos(t),t,:*r)2 三维绘图数据的产生(Creating the data of 3-D figure)(1)peaks 用于创建双峰函数和绘图。基本调用格式为:* x,y,z=peaks(n): 分别创建 x,y,z 三个均为 nn 阶的方阵,其中 x 的每

3、一列元 素都相同,每一行元素均为在-3,3区间内的 n 等份,y 的行列元素与 x 刚好相反,z 为 x 和 y 的函数, z=l Peaks(n)l 直接用 peaks 函数创建的 x,y,z 三个矩阵绘制表面图,相当于执行了x,y,z =peaks(n)和 surf(x,y,z)两个函数。例 1:a=peaks(8);mesh(a)(2)meshgrid 按指定方式生成网格矩阵,调用格式为:X,Y,Z=meshgrid(x,y,z) 分别创建 X,Y,Z 三个 mnk 阶的矩阵,矩阵的阶数由 x,y,z 三个矢量的长度 m,n,k 确定,X,Y,Z 三个矩阵表示了三维空间的网格,如省略了

4、Z, 则创建二维网格。x,y,z=meshgrid( 2,3, 6);plot3(x,y,z)grid on3 网格图(Meshing)*mesh(z) 绘制分别以 mn 阶矩阵 z 的行数和列数为 x 和 y 坐标(1:m,1:n),以 z 的对应元素值为 z 坐标的三维网格图。*mesh(x,y,z) 绘制分别以矩阵 x,y,z 的元素值为坐标的三维网格图,x,y,z 必须为 同阶矩阵。*函数 Meshc: 将网格图与等高线一起绘制。*函数 Meshz: 在绘制的同时绘制零基准平面。例 1:绘制各种网格图subplot(2,2,1)mesh(peaks(20) %基本网格图subplot(

5、2,2,2)meshc(peaks(20) %带等高线的网格图subplot(2,2,3)p=peaks(30); p(20:23,9:15)=NaN*ones(4,7); %剪孔位置(将部分网格设置为非数)meshz(p) %带剪孔的垂帘网格图(带有零基准平面)subplot(2,2,4)Waterfall(peaks(30) %瀑布水线图4 着色表面图(Surfing)(1)绘制表面着色图surf, 绘制表面着色图的基本命令;surfc, 绘制带等高线的着色表面图;surfl 可以控制表面图的光照效应。函数 surf 的调用格式:l surf(z) 绘制分别以 mn 阶矩阵 z 的行数和列

6、数为 x 和 y 坐标(1:m,1:n),以 z 的对应元素值为 z 坐标的三维表面图。l surf(x,y,z) 绘制分别以矩阵 x,y,z 的元素值为坐标的三维表面图,x,y,z 必须为同阶矩阵。(1:m,1:n),以 z 的对应元素值为 zl surf(x,y,z,c) 用 C 定义的颜色绘制三维表面图。l surf(,PropertyName,PropertyValue) 定义三维表面属性图。l surfc() 绘制带等高线的三维表面图。l h=surf()和 h=surfc() 返回表面图的图形对象句柄。例 1:用 surf 函数画一个椭圆表面。(a)生成数据并绘制表面图x=-1.5

7、:0.3:1.5;y=-1:0.2:1;x,y=meshgrid(x,y); %将矢量 x,y 转为数组 X,Y,用于绘三维表面图z=sqrt(4-x.2/9-y.2/4);surf(x,y,z)MESHGRID X and Y arrays for 3-D plots.X,Y = MESHGRID(x,y) transforms the domain specified by vectorsx and y into arrays X and Y that can be used for the evaluationof functions of two variables and 3-D s

8、urface plots.The rows of the output array X are copies of the vector x andthe columns of the output array Y are copies of the vector y.(2) 用 surfl 函数绘制带光照效果的表面图surfl(x,y,z)colormap(hot)(3)调用表面色彩渲染函数 shading ,控制表面颜色连续变化。surfl(x,y,z)colormap(hot)shading interpshading 函数有三个可选择参数 flat, faceted, interp例:

9、不同 shading 函数参数设置的效果对照figure(1)surf(peaks(20)shading flat %网格的每个线段和表面都有相同的颜色figure(2)surf(peaks(20)shading faceted %在 flat 的基础上加黑色网格figure(3)surf(peaks(20)shading interp %网格的每个线段和表面上的颜色都是变化的例:产生一个旋转柱面体。t=0:pi/12:3*pi;r=abs(exp(-0.25*t).*sin(t);x,y,z=cylinder(r,30);surfl(x,y,z)colormap(prism) %按照预定的色

10、彩索引映射色图shading interp5. 表面图形的透明处理 hidden off: 是个开关型命令,可以看到被遮挡的网格线条, 时图形透明例:有无透明处理的效果对比。x,y=meshgrid(-8:.5:8);R=sqrt(x.2+y.2)+eps;Z=sin(R)./R;figure(1) %hidden on (缺省,无透明处理)mesh(Z)colormap(0,1,0)x,y=meshgrid(-8:.5:8);R=sqrt(x.2+y.2)+eps;Z=sin(R)./R;figure(2) %hidden off (做透明处理)mesh(Z)colormap(0,0.2,0

11、.5)hidden off6. 表面图形的颜色映射 colormap:colormap 函数用于按照预定的色彩索引映射色图:colormap( RGB 颜色矢量函数 ) 或 colormap(MAP),(RGB 颜色表(表 610),用于网格图 mesh;色彩映射表:(表 611)用于表面图 surf。(RGB 颜色表 610) (色彩映射表 表 611)7. 切片图(Slice figure)slice(X,Y,Z,v,xi,yi,zi): 四维可视化函数,X,Y,Z 为使用 meshgrid 函数生成的三 维网格坐标矩阵,xi,yi,zi 为切片位置。slice 用于实现三元函数(v=f(

12、x,y,z)图形函数) 的可视化表现,绘制三维物体切片图。例: 函数的四维表现。x=-2:0.1:2; y=-2:0.25:2;z=-2:0.25:2;X,Y,Z=meshgrid(x,y,z); %形成 X,Y,Z 三维网格坐标矩阵v=X.*exp(-X.2-Y.2-Z.2); %所绘制的图形的函数xi=-0.7,0.7; %切片位置yi=-0.4,1.9;zi=-0.5;slice(X,Y,Z,v,xi,yi,zi) %形成三维切片图xlabel(x);ylabel(y);zlabel(z);colorbar(horiz) %创建水平色条,也可用 colorbar(vert)创建垂直色条v

13、iew(-30,45)五 图形处理的高级技术(Advanced technology of image processing)1 视图(View)控制视图和旋转的函数:view, viewmtx, rotate, rotate3d(1)视图方向:view(az,el) az (azimuth)-方位角,绕 z 轴旋转,逆时针为正,el (elevation) -仰角, 从 xy 平面向 z 轴旋转的角度,朝向 z 轴的旋转为正。缺省 状态二维图形: az=0o, el=90o, 三维图形: az=-37.5o,el=30oview(vx,vy,vz) 返回视点的直角坐标例: 比较不同视图的视觉

14、效果。subplot(2,2,1)peaks(50)subplot(2,2,2)peaks(50)view(90,0)subplot(2,2,3)peaks(50)view(30,45)subplot(2,2,4)peaks(50)view(2) %二维平面图(2) 图形旋转:rotate3d 三维视图变化命令,可以用鼠标控制视图的变化。例:peaks(50)rotate3d2 光照(1) 创建光源*light(color,option1,style,option2,position,option3)不使用此函数时,图形采用各处相等的漫射光,采用后产生确定属性的光源,缺省设 置为无穷远处的白色

15、光源穿过1,0,1射向坐标原点。(2) 光照模式light options:flat: 入射光均匀照射在图形对象的每个小面上,为缺省选项。gouraud: 先对顶点颜色插值,再对由顶点勾画的面插值,选项用于曲面的表现。phong: 对顶点处法线插值,再计算各像素点的反光,效果好,但占机时多。(3) 材料反射系数 materialmaterial options:shiny: 有光泽、明亮,镜反射份额较大。dull: 暗淡、柔和,漫反射份额大,无镜面亮点。metal: 有金属光泽,镜反射份额大,背景光和反射份额小。Default: 缺省方式。(4) 对五大反射要素进行特别设置material(ka,kd,ks,n,sc)ka: 环境光(背景光)强度(数值越大,光越强)。Kd: 漫反射强度(数值越大,光越强)。Ks: 镜射光强度(数值越大,光越强)。N; 镜面指数(控制镜面亮点大小,指数越大亮点越小)。Sc: 镜面颜色的反射系数。例:光照和材料反射系数的示例。clf %清理当前图形窗口t=linspac

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号