利用MATLAB表现空间曲面的交线_第1页
利用MATLAB表现空间曲面的交线_第2页
利用MATLAB表现空间曲面的交线_第3页
利用MATLAB表现空间曲面的交线_第4页
利用MATLAB表现空间曲面的交线_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、利用MATLAB表现空间曲面的交线习长新(荆门职业技术学院计算机学院 湖北 荆门 )摘 要 研究了MATLAB软件表现曲面交线的原理和方法,给出了绘制曲面交线及其投影的一般步骤和实例.关键词 MATLAB;曲面的交线;投影中图分类号 O182.2 文献标示码 A 文章编号0引言如何直观地表现空间中两个曲面的交线的形状以及位置,在几何中是一个有价值的问题。手工绘图难以准确描绘大量的数据点构成的曲面及交线。MATLAB作为世界通行的数学软件,具有强大的数值计算和数据可视化功能。本文中讨论如何利用数学软件MATLAB表现空间曲面的交线及其投影.1 算法与实例利用MATLAB可视化数据的功能指令(如p

2、lot,surf,mesh等),可以容易地表现出二元函数的三维图像.要描绘两个曲面的交线,实质是寻找两个曲面上坐标相同的数据点的集合,然后将坐标相同的数据点可视化。基于这一思想,设计算法和步骤如下:1. 对于两个解析式已知的曲面,估计交线上的点的坐标大致变化范围;2. 设定横纵坐标的变化范围, 以适当的步长产生坐标面XOY上的格点(x,y);3. 计算两个曲面在格点处的竖坐标(z的值),使用绘图指令描绘两个曲面图像;4. 比较同一格点(x,y)处两个曲面的竖坐标,记录两个数据点的状态,相同则标记为逻辑值1,不同则标记为逻辑值0,保存为一个状态矩阵。5. 获取两个曲面上坐标相同的点的坐标集。6.

3、 使用绘图指令描绘交线。对图像进行修饰.实例:绘制椭圆抛物面和双曲抛物面的图像及其交线。预处理:通过对方程组消元,知交线上的纵坐标满足,则可取y的变化范围-2,2, 横坐标x任取,不妨设-2,2,程序段如下:clfx,y=meshgrid(-2:0.2:2); %定义曲面边界,产生平面上格点的横纵坐标矩阵z1=x.2+0.25*y.2-2; %定义曲面一,计算曲面一上的坐标z2=x.2-y.2+1; %定义曲面二,计算曲面二上的坐标samedot=(abs(z1-z2)=0.5); %对两曲面上点的坐标进行比较,记录对应坐标点的状态,相等则记为1,此处相等的定义为:同一格点(x,y)处纵坐标之

4、差的绝对值不超过0.5subplot(1,2,1)mesh(x,y,z1); %产生曲面一的图像hold on %保持当前图像mesh(x,y,z2); %产生曲面二的图像xx=samedot.*x;yy=samedot.*y; zz=samedot.*z1; %获取坐标相同点的空间坐标plot3(xx(samedot =0),yy(samedot =0),zz(samedot =0),r*) %描绘两曲面的交线subplot(1,2,2)h1=plot3(xx(samedot =0),yy(samedot =0),zz(samedot =0),r*) %在独立的窗口中描绘两曲面的交线v=-2

5、 2 -2 2 -5 5;set(h1,markersize,4),hold on,axis(v),grid on %对图形进行修饰hold off效果如下:如果要表现曲面交线在坐标面XOY上的投影,只需把坐标相同的格点处z轴坐标赋值为0。在上述程序中加入语句plot3(xx(samedot=0),yy(samedot=0),zeros(size(yy(samedot=0),r*) %描绘两曲面的交线在xoy面的投影mesh(x,y,zeros(size(x) %描绘投影所在的的坐标面有如下的效果类似地,如果要表现两曲面交线在坐标面YOZ上(或XOZ上)的投影,则需要把坐标相同的格点处X轴坐标

6、(或Y轴坐标)赋值为0,得到在相应坐标面上投影线的坐标,然后将之可视化。2 对本方法的评述:利用MATLAB的数据可视化功能来表现两个曲面的交线,可以帮助研究者建立良好的几何直观,不管是用于空间几何中曲面研究,还是用于机械设计方面,都有重要的实用意义。在文献5中作者提供了另外一种软件AutoCad绘制曲面交线的方法。本方法与之相比,程序上较为简洁,在运行和图形显示、数据提取方面,matlab软件更为高效和精确。本方法表现曲面交线的局限之处在于:(1)两个相交曲面的方程应当是形如的显式方程;对于不可显式化的两个曲面方程,采用本方法难以表现曲面及交线的图形;(2)本方法表现曲面及交线需要预先对方程

7、作处理,以确定交线的坐标变化的大致范围;(3)由于坐标变化的连续性,本方法表现的曲面交线并非严格意义上相同坐标点的几何轨迹,只是一定精度下的近似轨迹,可以通过减小取点步长来提高近似程度。在本文算法的第4步中,由于格点位置和数目有限,两个曲面上坐标严格相等的格点不能全部取到,在设计程序时把“相同的坐标点”定义为“当横、纵坐标相同时,竖坐标之差的绝对值小于给定的精度”)。参考文献1 张志涌,精通Matlab6.5 M, 北京航空航天大学出版社,20032 尚涛,工程计算可视化与MATLAB实现M,武汉大学出版社,20023王玎等,求两自由曲面交线的一种新方法J,安阳师范学院学报,2005(2):7

8、-84段俊生等,matlab曲面绘制中的挖补方法J,大学数学,2006,22(4):36-395胡志华等,在AutoCad中实现二次曲面交线的自动绘制及其长度的计算J,苏州大学学报, 2002,18(2):40-44Represent the intersections curves of two surfaces using MATLABXI Chang-xin(1.Jingmen Technical College, Jingmen,Hubei ,China)Abstract: In this paper, we study the general method how Matlab generates the curves which are intersections of two surfaces. We also give a general method to draw such curves and their projectiions. Finaly, some examples are introduced to illustrate our method.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论