matble课程论文MATLAB在三维作图中的应用_精品文档.docx
- 文档编号:1519792
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:21
- 大小:752.49KB
matble课程论文MATLAB在三维作图中的应用_精品文档.docx
《matble课程论文MATLAB在三维作图中的应用_精品文档.docx》由会员分享,可在线阅读,更多相关《matble课程论文MATLAB在三维作图中的应用_精品文档.docx(21页珍藏版)》请在冰豆网上搜索。
《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);holdon;%竖立的圆管上添加平放的圆管
surf(x2,y2,z2);%绘制平放的圆管
axisequal,axisoff%去掉坐标轴
title('两个同直径圆管的相交');%添加标题
holdoff%关闭图形保持
运行结果如图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);%把各点连起来设置外围线
holdon%设置图形保持状态
plot(x2,y2);%绘制两条相交直线中的一条
holdon%设置图形保持状态
plot(x3,y3);%绘制两条相交直线中的另一条
ax1=[0,1,1];%在x轴上取点
ay1=[0,-1,1];%在y轴上取点
ax2=[0,-1,-1];%在y轴上取点
fill(ax1,ay1,'g');%填充颜色
holdon%设置图形保持状态
fill(ax2,ay2,'g')%添充颜色
axisequal,axisoff;%去掉坐标轴
title('两个同直径圆管相交的前视图');%给绘制的图形添加标题
运行结果如图2所示。
图2两个同直径圆管相交的前视图图形
两个同直径圆管相交的侧视图程序
r1=1;%定义变量
t=0:
pi/90:
2*pi;%取角度
xc=r1*cos(t);%水平圆柱
zc=r1*sin(t);%水平圆柱
fill(xc,zc,'y');%给水平圆柱填充颜色
holdon%设置图形保持状态
tx1=[1,1,-1,-1];%在x轴上取点
ty1=[0,1,1,0];%在y轴上取点
plot(tx1,ty1);%绘制竖立的圆管
holdon%设置图形保持状态
tx2=[1,1,-1,-1];%在x轴上取点
ty2=[0,-1,-1,0];%在y轴上取点
plot(tx2,ty2);%绘制图形
axisequal,axisoff;%去掉坐标轴
title('两个同直径圆管相交的侧视图');%添加标题
运行结果如图3所示。
图3两个同直径圆管相交的侧视图图形
例2,mesh和plot是三度空间立体绘图的基本命令,mesh可画出立体网状图,plot则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色。
下列命令可画出由函数形成的立体网状图:
x=linspace(-2,2,25);%在x轴上取25点
y=linspace(-2,2,25);%在y轴上取25点
[xx,yy]=meshgrid(x,y);%xx和yy都是25x25的矩阵
zz=xx.*exp(-xx.^2-yy.^2);%计算函数值,zz也是21x21的矩阵
mesh(xx,yy,zz);%画出立体网状图
立体曲面图:
x=linspace(-2,2,25);%在x轴上取25点
y=linspace(-2,2,25);%在y轴上取25点
[xx,yy]=meshgrid(x,y);%xx和yy都是25x25的矩阵
zz=xx.*exp(-xx.^2-yy.^2);%计算函数值,zz也是25x25的矩阵
surf(xx,yy,zz);%画出立体曲面图
peaks为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:
要画出此函数的最快方法即是直接键入peaks:
peaks
z=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)-1/3*exp(-(x+1).^2-y.^2)
我们亦可对peaks函数取点,再以各种不同方法进行绘图。
meshz可将曲面加上围裙:
[x,y,z]=peaks;
meshz(x,y,z);
waterfall可在x方向或y方向产生水流效果:
[x,y,z]=peaks;
waterfall(x,y,z);
下列命令产生在y方向的水流效果:
[x,y,z]=peaks;
waterfall(x',y',z');
meshc同时画出网状图与等高线:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matble 课程 论文 MATLAB 三维 作图 中的 应用 精品 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)