




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验名称:旋转曲面图形绘制-谢煜 200820501024一、 问题阐述:二、 问题分析:该问题应归于三维可视化的范畴,问题中的函数形式已给出,通过计算函数在分段点的函数值和一阶导数值,我们可以知道,该函数曲线是光滑的。如果按照“经典”的绘图方法,我们应该找到对应平面的对应点函数值(正如一幅数码图片那样对应平面上点的函数值),然后使用MATLAB中命令surf或mesh来绘出我们的图形。但是我们注意到,对于特定的操作(旋转),也许这样并不是一个很好的方法。我们知道,一个旋转曲面的两个要素是截面曲线和旋转轴。我们可以通过这两个步骤得到一个特定的旋转曲面。1. 指定截面曲线;2. 指定旋转轴。我们同时可以将旋转曲面的形成过程看作是某个具有特定形状的截面曲线对一个圆柱体进行“变形”。基于这样的思想,我们可以用一下两个步骤得到一个特定的旋转曲面:1. 生成一个单位高度单位半径的圆柱体;2. 将截面曲线的形状应用到该矩形截面上;3. 对旋转曲面的高度进行缩放。三、实验内容(包含程序及其注释,实验输出及其分析)接下来第一步我们还是先用一个简单的程序看看截面曲线的样子,绘出如图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.6373668302500 177.947981974895 -84.00653665377710 498.9885863466380 143.830455838681 -64.35915615835300 478.4857769773050 110.443195592555 -44.23457579408930 453.3382051141650 76.621451887220 -25.81056754057310 422.9803472875990 41.709372091224 -6.74982846277030 390.5455060023060 12.023208187747 这些数据可以生成空间三维曲线,我想要这个曲线绕z轴旋转一周得到的曲面,怎么弄,要程序,多谢了。data = -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.6373668302500 177.947981974895 -84.00653665377710 498.9885863466380 143.830455838681 -64.35915615835300 478.4857769773050 110.443195592555 -44.23457579408930 453.3382051141650 76.621451887220 -25.81056754057310 422.9803472875990 41.709372091224 -6.74982846277030 390.5455060023060 12.023208187747 ;x = data(:,1);y = data(:,3);z = data(:,2);r = sqrt(x.2+y.2); % 绕z轴旋转,求各点到z轴的距离r,即旋转半径n = length(z);alpha = linspace(-pi,pi,n);xx = r * cos(alpha); % 前面的x,y,z是列向量,r就是列向量,列向量*行向量生成n阶矩阵yy = r * sin(alpha);zz = z * ones(1,n);mesh(xx,yy,zz) % 之后可以用hidden off来关闭透视效果。%或者这里用surf(xx,yy,zz)来画也可以。matlab曲线绕轴生成曲面的问题,急!用动画演示曲线x=1-y2 绕 x 轴旋转产生旋转曲面的过程!跪求高手解决!急!t=-2:0.01:1;r=sqrt(1-t);y,z,x=cylinder(r,30);h=mesh(x,y,z);colormap(jet)axis onn=12;mmm=moviein(n);for i=1:n rotate(h,1 0 0,25) mmm(i)=getframe;endmovie(mmm,10,10)我是刚学matlab,请多多指教。k=100;r=linspace(0,1);t=linspace(0,2*pi,k);r,t=meshgrid(r,t);x=1-r.2;y=r.*sin(t);z=r.*cos(t);for n=2:kmesh(x(1:n,:),y(1:n,:),z(1:n,:);axis(0 1 -1 1 -1 1 -1 1);drawnowendMATLAB中如何设置坐标轴的显示长度1. 绘制二维曲线的最基本函数plot 2.双纵坐标函数plotyy 3. 坐标控制 函数的调用格式为: axis(xmin xmax ymin ymax zmin zmax) axis函数功能丰富,常用的用法还有: axis equal 纵、横坐标轴采用等长刻度 axis square 产生正方形坐标系(缺省为矩形) axis auto 使用缺省设置 axis off 取消坐标轴 axis on 显示坐标轴 grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。 box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。 4.图形窗口的分割 subplot函数的调用格式为: subplot(m,n,p) 5.绘制二维图形的其他函数 1. 其他形式的线性直角坐标图 在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是: bar(x,y,选项) stairs(x,y,选项) stem(x,y,选项) fill(x1,y1,选项1,x2,y2,选项2,) 6.极坐标图 polar函数用来绘制极坐标图,其调用格式为: polar(theta,rho,选项) 其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。 7.对数坐标图形 MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为: semilogx(x1,y1,选项1,x2,y2,选项2,) semilogy(x1,y1,选项1,x2,y2,选项2,) loglog(x1,y1,选项1,x2,y2,选项2,) 8.对函数自适应采样的绘图函数 fplot函数的调用格式为: fplot(fname,lims,tol,选项) 9.绘制三维曲线的最基本函数 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,xn,yn,zn,选项n) 10.三维曲面 1平面网格坐标矩阵的生成 (1)利用矩阵运算生成。 x=a:dx:b; y=(c:dy:d); X=ones(size(y)*x; Y=y*ones(size(x); (2)利用meshgrid函数生成。 x=a:dx:b; y=c:dy:d; X,Y=meshgrid(x,y); 10.绘制三维曲面的函数 surf函数和mesh函数的调用格式为: mesh(x,y,z,c) surf(x,y,z,c) 标准三维曲面 sphere函数的调用格式为: x,y,z=sphere(n) cylinder函数的调用格式为: x,y,z=sphere(R,n) MATLAB还有一个peaks 函数,称为多峰函数,常用于三维曲面的演示。 11.其他三维图形 条形图、饼图和填充图等特殊图形,它们还可以以三维形式出现,使用的函数分别是bar3、pie3和fill3。此外,还有三维曲面的等高线图。等高线图分二维和三维两种形式,分别使用函数contour和contour3绘制。clear,clc,close all;syms t u v wp=1 0 0;z=poly2sym(p,t)r=-5:0.5:5;U,V=cylinder(r,100);W=subs(z,t,sqrt(U.2+V.2);mesh(U,V,W); %colormap(winter)matlab 如何画复杂函数绕y轴一周的柱面图?函数方程为两个正态分布之和y=A*exp(-x2/2)+B*exp(-x2)不好意思啊,以前那个画法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁都钢质防火窗施工方案
- 架空建筑垃圾分类方案设计
- 中式建筑排版配色方案设计
- 在全县干部大会的主持词
- 地下室顶板渗漏处理方案
- 双层宴席厅建筑方案设计
- 2025年经济师初级考试 经济基础知识核心考点模拟试卷
- 贵州省茶产业发展现状研究
- 其他收入分享协议的注意事项
- 2025年北京市纪委市监委所属事业单位招聘8人笔试备考题库参考答案详解
- 《上海市幼儿园办园质量评价指南(试行)》
- 9.《复活(节选)》课件 统编版高二语文选择性必修上册
- 2025-2030中国成品润滑剂行业市场发展趋势与前景展望战略研究报告
- 《城乡规划管理与法规系列讲座课件-土地利用与建设规范》
- 保密警示教育典型泄密案例教育学习
- GB/T 45451.1-2025包装塑料桶第1部分:公称容量为113.6 L至220 L的可拆盖(开口)桶
- 道路货物运输经营申请表
- 大件运输安全生产管理制度文本
- 项目人员考核管理制度
- 生病学生上学协议书
- 社区用房使用协议书
评论
0/150
提交评论