文档详情

抛射曲线及包络线

油条
实名认证
店铺
DOC
78KB
约5页
文档ID:31643121
抛射曲线及包络线_第1页
1/5

抛射曲线及包络线1.1 抛射物体运动方程及 MATLAB 实现抛射物体的运动可描述为平面上一个动点的轨迹,即抛射曲线,其参数方程为02cos1inxvtyg其中 g 是重力加速度,物体初始速度为 ,发射角度为 0v当发射角度在区间 内变化时,不同发射角便形成不同曲线由[0,]221sinvtg解之,得弹落点所对应的参数值 0sitg1.2 MATLAB 实现对发射角 ,参数 t 的变化范围为 为了简化问题,取 下面0[,]t 01v程序段可绘制曲线簇中的 n-2 条曲线n=input('input n:'); % 输入数据 n,确定所绘曲线簇曲线数alpha=(2:n-1)*pi/(2*n); % 确定不同曲线所对应的发射角for k=1:n-2 % 开始计算 n-2 条曲线上的离散点数据a=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*t.^2;% 确定曲线上离散点坐标数据endplot(x',y') % 同时绘出曲线簇中 n-2 条曲线 运行上面程序,输入 n = 20 则可以绘出图 1 中的 18 条曲线。

1.3 抛射曲线的包络线不同发射角所形成的抛射线构成一曲线簇,如果存在一条曲线 L,曲线簇中每一曲线都与 L 相切,则称 L 为该曲线簇的包络对于参数方程,曲线族的包络曲线由 (,)(,)0xyxxtyttt消去参变量 而得到在上面抛射线族的包络曲线中00cos,sinin,coxvvttyygt由0xyxtt即 求解得sin(i)cos0gt1it0 0.02 0.04 0.06 0.08 0.1 0.12-0.0100.010.020.030.040.050.06图 1 不同发射角形成的抛射线簇代入曲线族的参数方程,便得包络曲线的参数方程为212,xtgtgyt下面程序段将绘制出曲线簇的包络曲线(又称为安全抛物线) g=9.8;t=1/g:.001:sqrt(2)/g;x=sqrt(t.^2-1/g^2);y=1/g-.5*g*t.^2;plot(x,y)1.4 两组不同方式的抛射曲线簇图形及源程序 高处朝低处的射击曲线簇g=9.8;xmax=0;alpha0=0; h=0;H=-0.02;a=0:pi/60:pi/2; for k=1:31 alpha=a(k);v1=cos(alpha); v2=sin(alpha); d0=v2^2-2*g*(H-h); if d0>=0 0 0.02 0.04 0.06 0.08 0.1 0.12-0.0100.010.020.030.040.050.06图 2 带包络线的抛射线簇 t0=(v2+sqrt(d0))/g;t=0:t0/16:t0; x=v1*t;x0=x(17);y=v2*t-0.5*g*t.^2; plot(x,y,'k') hold on if x0>xmax xmax=x0;alpha0=alpha; x1=x;y1=y; end end end plot(x1,y1,'r') xmax alpha0*180/pi0 0.02 0.04 0.06 0.08 0.1 0.12 0.14-0.03-0.02-0.0100.010.020.030.040.050.06图 3 高处朝低处的射击曲线簇 低处朝高处的射击曲线簇g=9.8;xmax=0;alpha0=0; h=0;H=0.02;a=0:pi/60:pi/2; for k=1:31 alpha=a(k);v1=cos(alpha); v2=sin(alpha); d0=v2^2-2*g*(H-h); if d0>=0 t0=(v2+sqrt(d0))/g;t=0:t0/16:t0; x=v1*t;x0=x(17);y=v2*t-0.5*g*t.^2; plot(x,y,'k') hold on if x0>xmax xmax=x0;alpha0=alpha; x1=x;y1=y; end end end plot(x1,y1,'r') xmax alpha0*180/pi0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.0800.010.020.030.040.050.06图 4 低处朝高处的射击曲线簇。

下载提示
相似文档
正为您匹配相似的精品文档