matble课程论文(MATLAB在三维作图中的应用)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《MATLAB》课程论文

MATLAB在三维作图中的应用

姓名:

学号:

专业:

班级:

指导老师:

学院:

完成日期:

MATLAB在三维作图中的应用

[摘要]MATLAB提供了一系列的绘图函数,用户不仅不许考虑绘图细节,只需给出一些基本的参数就能得到所需要的图形,这一类函数称为高层绘图函数。除此之外,MATLAB还提供了直接对句柄进行操作的一系列的低层的绘图操作。这类操作将图形的每个元素看做是一个独立的对象,系统给每个对象独立的分配一个句柄,以后可以通过该句柄对改图元素进行操作,而不影响图形的其他部分。高层绘图操作简单明了,方便高效,使用户最常使用的绘图方法,而低层绘图操作控制和表现图形的能力更强,为用户自主绘图创造了条件。其实MATLAB的高层绘图函数都是利用低层绘图函数建立起来的。所以MATLAB的计算准确、效率高、使用快捷等优点常被广泛应用于科学和工程领域.

[关键字]MATLAB语言三维图形图像处理绘制

一,问题的提出

MATLAB语言是当前国际学科界应用很广泛的一种软件,强大的绘图功能是MATLAB的特点之一。MATLAB提供了一系列的绘图函数,利用它强大的图像处理来绘制三维图形既简单而且也很方便。在绘制三维图形的过程中也用到了MATLAB语言的其他功能,绘制三维图形时用到了它提供的一些函数,利用这些函数可以方便的生成一些特殊矩阵,因此可生成一个坐标平面。MATLAB语言强大的功能也在二维三维绘图中的得到了很广泛的应用,利用它所提供的精细的图像处理功能,如MATLAB还提供了直接对句柄进行操作的一系列的低层的绘图操作。这类操作将图形的每个元素看做是一个独立的对象,系统给每个对象独立的分配一个句柄,以后可以通过该句柄对改图元素进行操作,而不影响图形的其他部分。高层绘图操作简单明了,使用户最常使用的绘图方法,而低层绘图操作控制和表现图形的能力更强,为用户自主绘图创造了条件,还可以对所绘制的三维图形作一个修饰的处理。MATLAB语言具有强大的以图形化显示矩阵和数组的能力,同时它给这些图形增加注释并且可以对图形进行标注和打印。MATLAB的图形技术包括三维的可视化、图形处理、动画等高层次的专业图形的高级绘图,例如图形的光照处理、色度处理以及四维数据的表现等。那么,如何把它强大的功能应用于实际应用中,下面我们将用实例说明MATBLE在三维作图中的应用。

二,MATLAB的主要功能及特点

MATLAB近几年广泛用于图像处理和识别, 使用MATLAB设计模式识别应用软件将使设计者获得更大的自由, 可以任意执行特殊的算法和实现复杂的操作,MATLAB之所以成为世界顶级的科学计算与数学应用软件, 是因为它随着版本的升级与不断完善而具有愈来愈强大的功能。(1)数值计算功能。(2)符号计算功能。(3)数据分析功能。(4)动态仿真功能。

(5)图形文字统一处理功能。

MATLAB 有三大特点:一是功能强大。主要包括数值计算和符号计算、计算结果和编程可视化、数学和文字统一处理、离线和在线计算。二是界面友好,编程效率高。MATLAB 是一种以矩阵为基本单元的可视化程序设计语言, 语法结构简单, 数据类型单一,指令表达与标准教科书的数学表达式相近。三是开放性强。MATLAB 有很好的可扩充性, 可以把它当成一种更高级的语言去使用。使用它很容易编写各种通用或专用应用程序。四是matble拥有丰富的库函数。

三, MATBLE在三维制图中的问题

例1、两个同直径圆管相交程序

m=30; %定义变量

theta=(0:m)/m*2*pi; %取角度

z=1.2*(-m:2:m)/m; %设置竖直圆管的高度

r=ones(size(z)); %生成同z大小的全一矩阵

z1=z'*ones(1,m+1); %生成第一个圆管的坐标矩阵x1=r'*cos(theta); %生成第一个圆管的坐标矩阵

y1=r'*sin(theta); %生成第一个圆管的坐标矩阵surf(x1,y1,z1); %绘制竖立的圆管

x=(-m:2:m)/m; %产生行矩阵

x2=x'*ones(1,m+1); %生成第一个圆管的坐标矩阵

y2=r'*cos(theta); %生成第一个圆管的坐标矩阵

z2=r'*sin(theta); %生成第一个圆管的坐标矩阵surf(x2,y2,z2); %绘制平放的圆管

surf(x1,y1,z1);hold on; %竖立的圆管上添加平放的圆管surf(x2,y2,z2); %绘制平放的圆管

axis equal,axis off %去掉坐标轴

title('两个同直径圆管的相交'); %添加标题

hold off %关闭图形保持

运行结果如图1所示。

图1 两个同直径圆管的相交图形两个同直径圆管相交的前视图的程序

x1=[-1,-1,1,1,-1]; %在x轴上取点

y1=[1.2,-1.2,-1.2,1.2,1.2]; %在y轴上取点

x2=[-1,1]; %在x轴上取点

y2=[1,-1]; %在y轴上取点

x3=[1,-1]; %在x轴上取点

y3=[1,-1]; %在y轴上取点

plot(x1,y1); %把各点连起来设置外围线hold on %设置图形保持状态

plot(x2,y2); %绘制两条相交直线中的一条hold on %设置图形保持状态

plot(x3,y3); %绘制两条相交直线中的另一条ax1=[0,1,1]; %在x轴上取点

ay1=[0,-1,1]; %在y轴上取点

ax2=[0,-1,-1]; %在y轴上取点

fill(ax1,ay1,'g'); %填充颜色

hold on %设置图形保持状态

fill(ax2,ay2,'g') %添充颜色

axis equal,axis off; %去掉坐标轴

title(' 两个同直径圆管相交的前视图'); %给绘制的图形添加标题

运行结果如图2所示。

图2 两个同直径圆管相交的前视图图形

两个同直径圆管相交的侧视图程序

r1=1; %定义变量

t=0:pi/90:2*pi; %取角度

xc=r1*cos(t); %水平圆柱

zc=r1*sin(t); %水平圆柱

fill(xc,zc,'y'); %给水平圆柱填充颜色

hold on %设置图形保持状态

tx1=[1,1,-1,-1]; %在x轴上取点

ty1=[0,1,1,0]; %在y轴上取点

plot(tx1,ty1); %绘制竖立的圆管

hold on %设置图形保持状态

相关文档
最新文档