文档详情

旋转曲面图形绘制.doc

发布:2017-06-13约7.27千字共11页下载文档
文本预览下载声明
实验名称:旋转曲面图形绘制 --------------谢煜 200820501024 问题阐述: 问题分析: 该问题应归于三维可视化的范畴,问题中的函数形式已给出,通过计算函数在分段点的函数值和一阶导数值,我们可以知道,该函数曲线是光滑的。如果按照“经典”的绘图方法,我们应该找到对应平面的对应点函数值(正如一幅数码图片那样对应平面上点的函数值),然后使用MATLAB中命令surf或mesh来绘出我们的图形。但是我们注意到,对于特定的操作(旋转),也许这样并不是一个很好的方法。 我们知道,一个旋转曲面的两个要素是截面曲线和旋转轴。我们可以通过这两个步骤得到一个特定的旋转曲面。 指定截面曲线; 指定旋转轴。 我们同时可以将旋转曲面的形成过程看作是某个具有特定形状的截面曲线对一个圆柱体进行“变形”。基于这样的思想,我们可以用一下两个步骤得到一个特定的旋转曲面: 生成一个单位高度单位半径的圆柱体; 将截面曲线的形状应用到该矩形截面上; 对旋转曲面的高度进行缩放。 三、实验内容(包含程序及其注释,实验输出及其分析) 接下来第一步我们还是先用一个简单的程序看看截面曲线的样子, 绘出如图1所示的曲线,有点像给出的飞机机翼截面的上半部分,也有点像鲸的头部。 图1 截面曲线 接下来我们按照要求,先计算对应的y和z, 得到如下表1中所列数据, 表1 对应三轴数据 然后,按照我们的思路,应该先生成一个单位高度圆柱体,然后应用截面,再伸缩长度,在MATLAB里面,有一个命令cylinder可以直接生成圆柱体,并且还可以指定截面函数,这样三步就完成前两步,我们只需要将X轴的数据进行放大即图形上的伸缩即可。唯一需要说明的是,由于问题中X轴是横的,而cylinder命令默认旋转轴是Z轴,我们可以将返回的数值顺序调换一下,将X的数据放在Z轴数据的位置。如下命令: 最后,我们用以下命令绘出图形,图形如图2所示。这个旋转曲面形状像一个陨石在大气层中燃烧产生的焰火,当然,我觉得也像一个望着大家的眼球。 图2 旋转曲面图形 至此,本实验所包含的基本问题就得到解决。 下面我们来生成一个有趣的图形。展示了一个“逃出”的情景。如图3,所用程序一并给出。 图3 多个旋转曲面组成的图形 四、 实验结论 通过这个实验我们解决了给出的基本问题,并发展出一种更方便的绘制旋转曲面的方法。这种方法也说明我们采取的解决方法和我们看待事物的角度有密切联系。有意识的突破自己思维的局限性,学习、生活和工作中会充满更多的乐趣。 用matlab怎么绘制一条曲线绕z轴旋转生成的曲面?已知数据如下: x z y -398.10815554637100 391.8559758318630 690.066133543041 -381.07955594867500 424.8310441553090 658.180381257343 -360.31045913580800 454.9810420379280 624.438172164358 -340.77979331967200 480.0490258857480 589.871036254153 -320.70280893650000 501.0456858777910 554.852570812195 -299.82431813457700 518.2155766324390 519.823513346336 -279.71207016838500 531.7446721639860 484.240629766611 -259.24117791020500 541.8367285151120 449.014948124588 -239.00970860829800 548.6904840829760 413.976780343287 -218.96623482661700 552.4832393130960 379.260454228704 -199.13368646014500 553.3595194667750 344.899655271289 -179.49937951068700 551.4224547392160 310.901650657030 -160.05853897239600 546.7258057477280 277.229604984912 -140.73497483322400 539.2644101927670 243.852173648710 -121.15977918590600 528.9596832738090 210.871041265296 -101.65161274937100 515.637366
显示全部
相似文档