高射炮射程控制_第1页
高射炮射程控制_第2页
高射炮射程控制_第3页
高射炮射程控制_第4页
高射炮射程控制_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

实验一高射炮的控制区域实验目的】1.了解计算机图形技术与算法在实际领域的应用。2.介绍了曲线簇的包络问题、分形曲线问题及其相应的绘图算法。3.初步掌握使用MATLAB软件设计绘图算法。【实验内容】高射炮发射的炮弹在空中呼啸而过划出一条抛射线,抛射的弹道曲线的参数方程为{X—vcosaxt0i12y—vsinaxtgt202其中v为炮弹出膛时初始速度,a高射炮的发射角度,g是重力加速度,其近似值为09.8m/s2。由不同的发射角发射的炮弹具有不同的弹道曲线,当炮弹出膛速度v确定时,0我们希望知道它的最远射程是多少?当炮击目标确定后,如何调整发射角度使炮弹能准确地落在目标位置处爆炸?而一门高射炮可以控制什么样的空间区域,这就是所有可能的弹道曲线以及对应的曲线包络确定的。【实验准备】信息的图形表示是人们便于理解和接受的最自然的形式。计算机图形技术的发展使得图形的输入、图形的构造和表示、图形的管理和操作,以及图形的数据分析、数据与图形之间的相互转换,都非常方便。人们常常从外部文件或程序等信息源获取数据,以图形的形式输出处理结果。例如自动将科学计算的结果以图形形式输出,绘制地形地貌图、等高线图、勘探图、天气预报图等等。本章从计算机图形学的角度介绍了曲线簇的包络和分形曲线问题。1.曲线簇的包络曲线在平面上,方程F(x,y,c)—0 (1)常常表示一族曲线,当c取确定值时可以画出这族曲线中的一条曲线。有时,曲线簇也可写成参数方程的形式,如引例问题中弹道曲线的参数方程,这里t是常说的参数,而v与a是0可变常数参数。于是,当固定v,而a变化时形成一个单参数曲线簇;固定a,而v变化00时形成另一个单参数曲线簇。二兀函数z—f(x,y)的等咼线簇f(x,y)—c,微分方程的积分曲线簇f(x,y,c)=0是平面曲线簇的常见的例子。如果一条曲线上的每一点都与曲线簇中某一曲线相切,则称这条曲线为该曲线簇的包络。曲线簇F(x,y,c)=0对参数c求导后与它自己联立得到方程组F(x,y,c)=0F'(x,y,c)—0 (2)c由这个方程组确定的曲线:x—x(c),y—y(c) (3)称为单参数曲线簇F(x,y,c)=0的包络。

当曲线簇的方程是参数方程时,该曲线簇的包络曲线由^x—x(t,a)Wy—y(t,a) ⑷dxdy dydx_、 —0'dtdadtda消去参变量a而得到。2.分形曲线分形(fractal)应用于数学、物理、化学、生物学。把形态、功能和信息方面具有自相似性的对象称为分形。在分形曲线中Koch分形曲线是最简单的一种。Koch分形从一条直线段开始,将线段中间的三分之一部分用一个等边三角形的另两条边代替,形成具有5个结点的新的图形,如图1.1所示:图1.1有5个结点的Koch分形曲线

这就是Koch分形曲线的生成元。在新的图形中,又将图中每一直线段中间的三分之一部分

都用一个等边三角形的另两条边代替,再次形成新的图形,这时,图形中共有17个结点。二维分形图形不同于一般的平面曲线,它们的维数通常介于1到2之间。例如Koch分形曲线,每次迭代时,每一条线被分成4份,线段的比例为1/3。按照维数计算公式D—InN/In(—) (5)S其中N表示线段的份数,S表示取线段的比例,计算得Koch分形曲线的维数是In4/In3宀1.2619,而且每迭代一次曲线长度增加4/3倍。Koch分形曲线迭代算法继续进行下去可以形成复杂的分形曲线。在迭代过程中,图形中的点将越来越多,而曲线最终显示细节的多少将取决于所进行的迭代次数和显示系统的分辩率。Koch分形曲线的绘图归结于算法的设计和计算机系统性能。【实验方法与步骤】1.引例中炮弹的包络曲线由引例知高射炮弹的弹道曲线的参数方程为x—vcosx—vcosaxt,0—vsin01axt 2gt2固定v,固定v,0a为可变常数参数,则有dx ——vcosa,at0ax_=—vsinaxtaa 0at—v0sina-gt,aa—vat—v0sina-gt,aa—v0cosaxt为简化计算取v0—1,利用(4)求炮弹弹道曲线的包络曲线为i 1—.'t2— R2112-gt2g26)gg由此参数方程所绘制的曲线称为案例抛物线。2.曲线簇及其包络曲线的绘制根据高射炮的弹道曲线簇及其包络曲线(6),设计MATLAB程序来绘图,编辑M脚本文件baoluo.m,运行下面程序:n=input('inputn:');alpha=(2:n-1)*pi/(2*n);fork=1:n-2a=alpha(k);v1=cos(a);v2=sin(a);t0=v2/4.9;t=(0:16)*t0/16;x(k,:)=v1*t;y(k,:)=v2*t-4.9*t42;%输入数据n确定所绘曲线簇的曲线数,在命令窗口输入20%确定不同曲线所对应的发射角%开始计算n-2条曲线上散点数据%选取发射角的值%取初始速度在水平和垂直方向上分量%确定时间参数t的值%计算曲线上散点坐标数据endplot(x',y')holdon%同时绘出弹道曲线簇中的n-2条曲线%在上面曲线簇的图形里继续绘图g=9.8;t=1/g:0.001:sqrt(2)/g;x=sqrt(t.A2-1/gA2);y=1/g-0.5*g*t.A2;plot(x,y)%确定时间参数t的值%对应参数t的值计算曲线上散点坐标数据%在弹道曲线簇的图形里绘出其包络曲线由上面的程序可绘出弹道曲线簇及其包络曲线,如图1.2所示0.060.040.010.040.061120.050.030.02由上面的程序可绘出弹道曲线簇及其包络曲线,如图1.2所示0.060.040.010.040.061120.050.030.020.020.08图1.2固定v=1时,弹道曲线簇及其包络曲线0由图1.2我们可以看到,当固定v=1,a为可变常数参数时,弹道曲线簇的包络为一0抛物线。一门高射炮的控制区域就是以此包络的旋转曲面为边界的空间区域;当固定a,v0

为可变常数参数时,弹道曲线簇没有包络。3.Koch分形曲线算法设计考虑由直线段(2个点)产生第一个图形(5个点)的过程:设P和P分别为原始直12线段的两个端点。现在需要在直线段的中间依次插入三个点Q,Q,Q,产生第一次迭123代的图形。显然,Q点位于P点右端直线段的三分之一处,Q位于P点右端直线段的三1131TOC\o"1-5"\h\z分之二处;而Q的位置可以认为是,由Q点绕Q点60度(逆时针方向)而得到的,故可2 . 3 1以处理为向量QQ'经正交变换而得到向量QQ。形成的算法如下:1 3 1 2Q=P+(P—P)/3;1121Q=P+2(P—P)/3;3 1 2 1Q=Q+(Q—Q)Xa';2 1 3 1P—P;P—Q;P—Q;P—Q。5 2 2 1 3 2 4 3在算法中,符号“—”表示右边的数据表达式赋值给左边的变量,在算法第三步中,A为正交矩阵:COS—3一COS—3一sin兀sin—COs本文件本文件baoluo.m,运行下面程序:p=[00;100];a=[cos(pi/3)-sin(pi/3);sin(pi/3)cos(pi/3)];fork=1:5n=max(size(p));d=diff(p)/3;q=p(1:n-1,:);p(5:4:4*n-3,:)=p(2:n,:);p(2:4:4*n-6,:)=q+d;p(3:4:4*n-5,:)=p(2:4:4*n-6,:)+d*a';p(4:4:4*n-4,:)=q+2*d;这一算法的结果将由初始数据点p和点p的坐标,产生5个结点坐标;这5个结点的坐标12数组,组成一个5X2矩阵;这一矩阵的第一行为p的坐标,第二行为p的坐标,„„,12第五行为P的坐标;矩阵的第一列元素分别为5个结点的x坐标,第二列元素分别为5个5结点的y坐标。首先考虑在Koch分形曲线的形成过程中结点数目的变化规律。设第k次迭代产生的结点数为n,第k+1次迭代产生结点数为n,n和n之间的递推关系式如下k k+1 k k+1—4n—3k由第k次迭代的n个结点的结点坐标数组,产生第k+1次迭代的n个结点的结点坐k k+1标数组的算法,可参考上面两点到五点的算法进行设计。4.Koch分形曲线的绘制根据上述算法编写迭代五次的Koch分形曲线,并设计MATLAB程序绘图,编辑M脚%给出初始数据两个点的坐标%设置正交变换的矩阵%执行第一到第五次迭代%统计前一轮的结点坐标数组及形成结点向量%保护前一轮的结点坐标数组%插入第一组新结点%用正交变换计算第二组新结点%插入第三组新结点endplot(p(:,1),p(:,2))运行上面程序,MATLAB图形窗口将显示Koch分形曲线,如图1.3所示32.5210.5A0456101.5.血fI"832.5210.5A0456101.5.血fI"8Alft9t-FWd3图1.3迭代5次的Koch分形曲线练习与思考】1.给定n,例如取n=20,在x轴上取点P(-,0),i=0,1,2,…,n,在y轴上取点inQ(0,丄)。连接PQ形成直线段,i=0,1,2,„,n。试写出直线

温馨提示

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

评论

0/150

提交评论