当前位置:文档之家› MATLAB三维绘图数据源分析及镂空研究_张玉叶

MATLAB三维绘图数据源分析及镂空研究_张玉叶

价值工程0引言一般而言,在标量空间,三维图形的表达难以实现,而MATLAB 具有有很好的三维数据可视化功能,尤其适用于矩阵运算。

本文分析了在标量空间绘制三维图形时所需要的数据源是如何产生的,以及深入分析数据源的产生对于三维图形作“镂空”处理的意义。

这个研究对于MATLAB 辅助实际应用研究具有重要的意义。

1三维绘图数据源产生分析MATLAB 绘制三维图形的方法是用矩形网格来绘制曲面图形,meshgrid 指令就是在(x ,y )平面来产生矩形网格的,格式为:[X ,Y]=meshgrid (x ,y )其中,x ,y 为两个矢量,而X ,Y 为两个矩阵。

而meshgrid 指令的作用就是将由矢量x 和y 定义的域转换成一个由两个数组X 和Y 组成的标量空间,以便于对形如z=f (x,y )的方程进行三维表达。

输出数组X 的各值是由矢量x 的各值在y 轴上扩展成矢量y 的大小[1]。

同样,输出数组Y 的各值是由矢量y 的各值在x 轴上扩展成矢量x 的大小。

>>x=-5:5;>>y=x ;>>[X,Y]=meshgrid (x,y )X=-5-4-3-2-1012345-5-4-3-2-1012345-5-4-3-2-1012345-5-4-3-2-1012345-5-4-3-2-1012345-5-4-3-2-1012345-5-4-3-2-1012345-5-4-3-2-1012345-5-4-3-2-1012345-5-4-3-2-1012345-5-4-3-2-1012345Y=-5-5-5-5-5-5-5-5-5-5-5-4-4-4-4-4-4-4-4-4-4-4-3-3-3-3-3-3-3-3-3-3-3-2-2-2-2-2-2-2-2-2-2-2-1-1-1-1-1-1-1-1-1-1-1000000000001111111111122222222222333333333334444444444455555555555>>Z=X.^2+Y.^2;>>surf (X ,Y ,Z )程序提供了一维行向量x=[-5-4-3-2-1012345],将x 在y 的方向上扩展成y 大小,形成数组X ,同理程序提供了一维列向量y=[-5-4-3-2-1012345]’,将y 在x 的方向上扩展成x 的大小,形成数组Y,在x-y 平面[2],数组X 和数组Y 形成了数据点阵如图1所示,然后根据关系式:z=x 2+y 2计算每个数据点阵在空间中的高度,用surf 指令做出表面图形,如图2所示。

2镂空处理2.1平面域镂空分析明确了3D 图形的数据来源,就可以对立体图形的各个部分进行镂空处理。

如果要在图2的基础上对空间曲面图进行镂空,效果如图3所示,操作指令如下:>>x=-5:5;>>y=x ;>>[X,Y]=meshgrid (x,y );>>X(8:9,8:9)=nan*X (8:9,8:9);>>Y(8:9,8:9)=nan*Y (8:9,8:9);>>surf (X,Y,Z )根据指令段,数组X 的第8行到第9行,第8列到第9列数据乘以一个非数nan ,数组Y 的第8行到第9行,第8列到第9列数据也乘以一个非数nan ,数据点阵发生了变化,如图4所示:进行绘图时,含有非数的数据部分被忽略[3],即不被绘制。

从立体效果来看,对空间表面图进行了镂空操作。

2.2镂空疑点对镂空后的立体图形进行视角修饰,即在绘图之间加上指令〉〉view (2),让方位角az=0o ,仰角el=90o ,即对图形进行俯视操作,数据源的变化如图5所示,不难发现一个问题,根据数据源变化,我们绘图的时候应该忽略X (8:9,8:9),对应忽略Y (8:9,8:9)四个点,根据俯视图,镂空的区域似乎应该如图6所示,问题在哪里呢?———————————————————————基金项目:2009年咸阳师范学院教研基金项目(09XSYK205)。

作者简介:张玉叶(1979-),女,陕西礼泉人,讲师,研究方向为电子设计自动化。

MATLAB 三维绘图数据源分析及镂空研究Data Sources Analysis of 3D Painting on MATLAB and Study of Piercing Technology张玉叶Zhang Yuye(咸阳师范学院物理与电子工程学院,咸阳712000)(College of Physics and Electronics Engineering ,Xianyang Normal University ,Xianyang 712000,China )摘要:分析了MATLAB 三维图形绘制时数据源产生的机理,并对立体图形处理中的“镂空”技术,从平面域到圆域,逐渐深入探索如何3D 体图形进行任意镂空的技巧,并从这个切入点深刻理解三维图形数据源与图形本身的对应关系。

结论对于3D 图形数据源分析及可视化具有实际应用意义。

Abstract:The paper analyzes the production mechanism of the data sources of 3D paintings.Just for piercing technology,from plane area to circle area,gradually it explores how to arbitrarily pierce a 3D graphic.From this breakthroug point,the corresponding relationship between the 3D graphic data sources and the graphic itself has been understood deeply.The conclusion has practical sense in data resources analysis of 3D graphics and visualizition.关键词:MATLAB ;meshgrid ;数据源;镂空Key words:MATLAB ;meshgrid ;data source ;piercing中图分类号:TP391.41文献标识码:A文章编号:1006-4311(2010)34-0174-02·174·Value Engineering观察图6,如果忽略图6中的四个点的数据,则如图7所示,A ,B ,C ,D 这四个点周围形成不了封闭区域,填充自然无效。

可见实际镂空俯视图如图4所示,其立体效果如图3所示,这个谜团一经揭开,我们对立体图形数据源的认识会更加清晰,也就可以对立体图形的进行任意裁剪。

2.3圆域的镂空分析对于一个球体,如果想要在球体上剪掉其1/8,该怎么做呢?为了俯视看到圆域镂空效果,先截取球体一半,因为无论在球体上截取小于等于二分之一的任意部分,俯视效果都是一样的[4][5]。

所以我们先得到一个半球体,指令段如下:>>[x,y,z]=sphere(20);>>x(1:11,:)=nan*x(1:11,:);>>y(1:11,:)=nan*y(1:11,:);>>z(1:11,:)=nan*z(1:11,:);>>surf(x,y,z)分析:参考2.2平面镂空原理以及圆域特点,对其进行镂空处理,数据点阵的忽略关系如图8所示(部分图):y 数据点阵同理[6][7][8]。

经过数据点阵忽略分析,对指令断调整如下,所的图形如图9所示,其俯视图如图10所示>>[x,y,z]=sphere(20);>>x(1:11,:)=nan;>>y(1:11,:)=nan;>>z(1:11,:)=nan;>>surf(x,y,z)>>axis square>>x(13:20,2:5)=nan;>>y(13:20,2:5)=nan;>>surf(x,y,z)经过圆域的镂空分析,回到2.3开始的那个问题,若要求在球体上裁减掉1/8,就很容易解决,忽略掉x ,y 数据域第13行到第20行,第2列到第5列的数据,得到裁减后的立体效果如图11所示:>>[x,y,z]=sphere(20);>>x(13:20,2:5)=nan;>>y(13:20,2:5)=nan;>>surf(x,y,z)>>axis square3结语本文首先阐明了三维立体图形绘制中数据源产生的机理,数据与图形存在着怎样的对应关系,然后在此基础上对3D 可视化操作中的一项重要技术,即镂空技术进行了详细分析,达到对图形的任意位置进行镂空。

进一步提出在圆域里,对图形的镂空是如何实现的。

通过分析总结,关键是要明晰数据与图形的对应关系,这样才可以游刃有余的对3D 图形进行任意镂空。

本文对于3D 图形数据源分析有实际应用意义。

参考文献:[1]曹弋.MATLAB 教程及实训[M].北京:机械工业出版社,2008:108.[2]王志涌.精通MATLAB6.5.北京航空航天大学出版社.2003.3.[3]飞思科技产品研发中心.MATLAB7基础与提高.电子工业出版社,2005:174-175.[4]王家文,曹宇MATLAB6.5图象图形处理国防工业出版社,2004.[5]Hosny,K.:Exact legendre moment computation for gray level images.Pattern Recognition 40(2007)3597-3605.[6]Mukundan,R.,Ong,S.,Lee,P.:Image analysis by tchebichef moments.IEEE Trans.Image Processing 10(2001)1357-1364.[7]Yap,P.,Paramesran,P.,Ong,S.:Image analysis by krawtchouk moments.IEEE Trans.Image Processing 12(2003)1367-1377.[8]Zhu ,H.,H.Shu ,Liang ,J.,Luo ,L.,Coatrieux ,J.:Image analysis by discrete orthogonal racahmoments.SignalProcessing87(2007)687-708.·175·。

相关主题