第一范文网 - 专业文章范例文档资料分享平台

抛射曲线及包络线

来源:用户分享 时间:2025/9/11 16:27:26 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

抛射曲线及包络线

1.1 抛射物体运动方程及MATLAB实现

抛射物体的运动可描述为平面上一个动点的轨迹,即抛射曲线,其参数方程为

s?t?x?v0co?? ?12

y?v0sin??t?gt??2其中g是重力加速度,物体初始速度为v0,发射角度为?。

?当发射角度在区间[0,]内变化时,不同发射角便形成不同曲线。由

21??t?g2t? 0 v0sin2 解之,得弹落点所对应的参数值

t0?2v0sin? g1.2 MATLAB实现

对发射角?,参数 t的变化范围为[0,t0]。为了简化问题,取v0?1。下面程序段可绘制曲线簇中的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;% 确定曲线上离散点坐标数据 end

plot(x',y') % 同时绘出曲线簇中n-2条曲线 运行上面程序,输入 n = 20 则可以绘出图1中的18条曲线。

00.040.060.050.030.020.01-0.0100.020.040.060.080.10.12图 1 不同发射角形成的抛射线簇

1.3 抛射曲线的包络线

不同发射角所形成的抛射线构成一曲线簇,如果存在一条曲线L,曲线簇中每一曲线都与L相切,则称L为该曲线簇的包络。对于参数方程,曲线族的包络曲线由

x?x(t,?),y?y(t,?),?x?y?y?x??0 ?t???t??消去参变量?而得到。在上面抛射线族的包络曲线中

?x?x?v0cos?,??v0sin??t?t??

?y?y?v0sin??gt,?v0cos??t?t??由

?x?y?y?x??0 ?t???t??即?sin??t(sin??gt)?cos??cos??t?0。求解得

?? sin1 gt代入曲线族的参数方程,便得包络曲线的参数方程为

?12?x?t?2g?, ??y?1?1gt2?g2?12?t? gg下面程序段将绘制出曲线簇的包络曲线(又称为安全抛物线)。 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)

0.030.060.050.04

0.02

0.01

0-0.0100.020.040.060.080.10.12图 2 带包络线的抛射线簇

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

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/pi

0.060.050.040.030.020.010-0.01-0.02-0.0300.020.040.060.080.10.120.14图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/pi

0.060.050.040.030.020.01000.010.020.030.040.050.060.070.08图4 低处朝高处的射击曲线簇

搜索更多关于: 抛射曲线及包络线 的文档
抛射曲线及包络线.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2ulqd08oqn3ef8l940oa3cwgi893aj006hl_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top