《MATLAB三维图形的精细化处理(共7页).doc》由会员分享,可在线阅读,更多相关《MATLAB三维图形的精细化处理(共7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上MATLAB语言课程论文MATLAB三维图形的精细化处理姓名: 学号: 专业:通信工程 班级: 指导老师: 学院:物理电气信息学院 完成日期:2010年12月23日 MATLAB三维图形的精细化处理()摘要利用MATLAB绘图十分方便,它既可以绘制各种图形,还可以对图形进行修饰和控制,以增强图形的表现效果。MATLAB通过低层绘图和基于低层绘图的高层绘图操作可以对三维图形进行视点、色彩及图形的剪裁处理,以达到图形的精细化要求。关键词 MATLAB 图形绘制 精细化处理 一、问题的提出在如今的科学研究和工程应用中,我们会遇到各种各样的问题,其中包括关于图形绘制和图形表现
2、效果的问题,而MATLAB中强大的绘图功能和用于精细化处理各个函数,将使这些问题可以得到更好的解决,下面我们就分别对MATLAB在此方面的应用进行分析:二、三维绘图中的视点、色彩及剪裁处理问题1、视点的处理 为了增强三维图形的表现效果,需要从不同的绘制三维图,MATLAB中通过函数view(az,el)进行视点的处理。问题1:旋转观察多峰函数曲面,程序如下,结果如图1.1所示mesh(peaks); %绘制多峰函数el=30; %设置仰角为30度。for az=0:1:360 %让方位角从0变到360,绕z轴一周 view(az,el); drawnow;endaz= 0; %设置方位角为0f
3、or el=0:1:360 %仰角从0变到360 view(az,el); drawnow;end az= 0; %设置方位角为0for el=0:1:360 %仰角从0变到360 view(az,el);drawnow;end 图1.1旋转多峰函数曲面2.色彩处理 用含有三个元素的向量表示颜色。问题2.绘制红绿蓝三色色图,演示色图和色图矩阵。色图如图2.1所示。例子2. cm=1 0 0;0 1 0;0 0 1; %建立红绿蓝色图矩阵m=size(cm,1); %色图维数确定y=1:m+1;1:m+1; %色图变化pcolor(y),colormap(cm) %图形窗口色图设置和改变图2.1
4、红蓝绿三色图问题3.随机色图的绘制。程序如下,色图如图2.2所示。rand(seed,2); %产生随机矩阵cm=rand(16,3); %建立随机色图矩阵m=size(cm,1); %色图维数确定y=1:m+1;1:m+1; %色图变化pcolor(y),colormap(cm) %图形窗口色图设置和改变图2.2随机色图问题4.为了增强图形的表现效果需要对绘制的曲面图形进行插值着色处理,程序如下,处理结果如图2.3s=linspace(0,0.5*pi,10); %在(0,0.5pi)取十个点t=linspace(0,1.5*pi,30); %在(0,1.5pi)取十个点 S,T=meshg
5、rid(s,t); %建立网格坐标x=cos(S).*cos(T); %参数方程y=cos(S).*cos(T);z=sin(S);colormap(prism); %对图形进行着色处理figure(1) ; %建立图形窗口对象surf(x); %绘制三维曲面图figure(2); %建立图形窗口对象surf(y);shading flat; %每个网格片用一个颜色着色figure(3); %建立图形窗口对象surf(z);shading interp ; %在网格片内采用颜色插值处理 图2.3插值及着色处理图从绘制好的经插值着色处理后的图形显示效果可以看出用shading flat语句可以将
6、每一个网格片进行单一着色, 用shading interp语句在网格片内采用颜色插值处理得到颜色带状相间的光滑曲面图。 3.对图形的剪裁处理绘图过程中需要对图形进行剪裁处理以实现三维图形的可视性,有助于表现其立体效果。问题5.matlab利用不定数NaN的特点,可以对网图进行裁剪处理。P=peaks(30);subplot(2,1,1); %图形窗口的分割mesh(P); %生成网格坐标title(裁剪前的网图) %添加图形名称标注subplot(2,1,2);%图形窗口的分割P(20:23,9:15)=NaN*ones(4,7); %剪孔meshz(P) %垂帘网线图title(裁剪后的网图
7、) %添加图形名称标注colormap(0 0 1) %蓝色网线图3.1图形剪裁处理对比图三.总结及体会通过以上分析我们可以看到,MATLAB的功能是非常强大的,在三维图形的精细化处理中应用广泛而灵活,我们可以通过view(az,el)函数对三维图形进行不同视点的展示,制作动态图形从各个视角观察三维图形的立体效果。运用colormap函数实现图形窗口色图的设置,shading flat和shading interp命令对图形进行着色和插值处理。此外,NaN常数可用来表示那些不可使用的数据,从而完成图形的剪裁处理,充分体现图形的立体性,增强图形的表现效果。经过对MATLAB语言这门课程的学习,我了解并体会到了MATLAB语言相对于其它程序语言的强大功能和优越性,它更加的方便和简洁易懂。总体来说通过对上述内容的分析讨论,使我对MATLAB中的某些函数的应用更加的熟练,相信对我在以后的学习中会有很大的帮助。最后,向老师的辛勤指导及教学表示深深地谢意!参考文献1.刘卫国.MATLAB程序设计与应用M.北京:高等教育出版社.2006.72.赵静,但琦.数学建模与数学实验M.北京:高等教育出版社.2008.13.李海涛,邓樱,MATLAB程序设计教程M,高等教育出版社,2002专心-专注-专业