- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB在计算机图形学中应用
MATLAB在计算机图形学中应用
摘要:计算机图形学需要解决的一个迫切的问题就是图形显示的准确和真实性,而矩阵实验室(matrix Laboratory, Matlab)借助于其自身强大的函数库以及计算和显示功能,能够非常准确的显示所输入的图形或者数据,尤其是在曲线和曲面的显示上更是非常具有准确性和真实性。本文从曲线和曲面这两个角度,通过例证来说明Matlab在计算机图形学上的应用。
关键词:Matlab;计算图形学;曲线;曲面
中图分类号:U212.332.2文献标识码:A
1、引言
计算机图形学(Computer Graphics,CG)是指通过数学算法将现实中的图形转换为能够在计算机上进行显示的科学。这些图形可以是二维或者是三维的,一般来说是由点、线、面这些基本图形单元以及色彩、线宽等属性来组成。简单来说,计算机所研究的就是如何通过计算机来表示图形,并且能够在数据经过数学计算之后能够通过图形的转变来显示其变化。
实际应用中,AutoCAD、protel等等计算机图形显示的软件工具都能够比较好的实现图形在计算机中的显示,但是还有一类数学软件工具能够更为便利、更为精准的实现曲面、曲线等等常用图形的显示,这就是美国MathWorks公司出品矩阵实验室(Matrix Laboratory,MATLAB)软件。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
2、Matlab在曲线绘制中的应用
在Matlab的实际应用中,曲线一般分为两种:规则曲线和不规则曲线。规则曲线是指能够利用数学表达式表示或者是形状规则的曲线;不规则曲线是指需要根据给定的一些特殊的点来构造的光滑曲线。对于规则曲线,在Matlab中一般可以使用plot3这一函数来进行描绘,比如:对于螺旋曲线,如果其参数方程为:
X=sin tY=cos 2tZ=sin t + cos t0=t=2π
那么在Matlab中的实际编程就可以用下列的语句来实现:
t=0; pi/50; 2*pi;plot3(sin(t),cos(2*t),sin(t)+cos(t))来实现,其输出的曲线如图1所示:
图1 螺旋曲线
当然,对于不能够使用数学表达式进行表达的曲线,在Matlab中可以将曲线上特殊的点列出,通过拟合来形成光滑的曲线。
比如,对于如下例子:[x,y,x]=peaks(5)
X=-3.0000 -1.5000 0 1.5000 3.0000
-3.0000 -1.5000 0 1.5000 3.0000
-3.0000 -1.5000 0 1.5000 3.0000
-3.0000 -1.5000 0 1.5000 3.0000
-3.0000 -1.5000 0 1.5000 3.0000
Y=-3.0000 -3.0000 -3.0000 -3.0000 -3.0000
-1.5000 -1.5000 -1.5000 -1.5000 -1.5000
0 0000
1.50001.50001.50001.50001.5000
3.00003.00003.00003.00003.0000
Z=0.0001 0.1142 -0.2450 -0.0298 0.0000
-0.0005 0.3265 -5.6803 -0.4405 0.0036
-0.0365 -2.7736 0.9810 3.2695 0.0331
-0.0031 0.4784 7.9966 1.1853 0.0044
0.0000 0.0312 0.2299 0.0320 0.0000
那么,就可以直接使用函数mesh(x,y,z)来生成如图2 所示的曲线。
图2 mesh函数的输出曲线
3、Matlab在曲面绘制中的应用
在实际工程应用中,曲面一般分为两类:规则曲面和不规则曲面。规则曲面是指能够利用数学表达式表示或者是形状规则的曲面;不规则曲面是指需要根据给定的一些特殊的点来构造的光滑曲面。在Matlab进行曲面绘制的过程中,可以利用数学表达式表示的曲面一般是通过两种数学表达形式来表示的,一类是使用非参数形式:f(x,y)可以使用Matlab自带函数ezsurf(f,danain)来表示,其中,f是指两个参数的数学函数表达式,damain则用来定义两个参数变了的取值范围。比如:椭圆抛物面的数学表达式z=x2+y2就可以用下面的表达式来表示:[
文档评论(0)