投篮篮球儿轨迹MATLAB仿真
投篮儿时篮球儿的轨迹大多算是斜上抛运动,给球儿一个初始儿的斜儿上方的初速度,球儿自己做斜上抛运动,但考虑到空气儿阻力,球儿的实际轨迹会与理想轨迹有一定误差,本次将球儿的理想曲线儿和实际曲线儿放到一个图里进行对比,直观感受一下空气阻力的作用,由于时间关系本次没有考虑刮风的情况,有时间再把带风儿的加上。(数学好的投篮时可以快速算一下投出的角度和速度,保证百发百中,
仿真大致思路:首先定义好每个固定的变量,比如球儿的质量,大小,空气密度等,定义时间间隔为0.01s,通过每0.01s选取一个坐标点连起来就是大致的轨迹。由于速度的矢量方向和水平面夹角会随着时间的变化变化,因此要将速度矢量方向、阻力方向和速度大小联系起来,同时,阻力大小也和速度有关,这里将其关系设为阻力和速度大小的平方成正比。同时,球儿的速度和位置采用递归的方式表示。光用文字表达可能越说越迷糊,直接上代码。
代码:
clcclearg=9.8;%重力加速度m=0.145;%重量k=0.05;%空气阻力系数r=0.0366;%半径S=pi*r^2;%阻力面积rou=1.29;%空气密度deltat=0.01;theta=(35/180*pi);%初速度与地面夹角x(1)=0;y(1)=0;%初始位置坐标V(1)=50;%初始速度Vx(1)=V(1)*cos(theta);Vy(1)=V(1)*sin(theta);t=1:700;for n=1:length(t)V(n)=sqrt(Vx(n)^2+Vy(n)^2);%合速度D=rou*k*S.*(V(n).^2);%阻力ax(n)=-(D/m)*Vx(n)/V(n);%水平加速度ay(n)=-g-(D/m)*Vy(n)/V(n);%垂直加速度Vx(n+1)=Vx(n)+ax(n)*deltat;%水平速度Vy(n+1)=Vy(n)+ay(n)*deltat;%垂直速度x(n+1)=x(n)+Vx(n)*deltat+0.5*ax(n)*deltat^2;%水平坐标y(n+1)=y(n)+Vy(n)*deltat+0.5*ay(n)*deltat^2;%垂直坐标px(n)=Vx(1)*n*deltat;%无阻力水平坐标py(n)=Vy(1)*n*deltat-0.5*g*(n*deltat)^2;%无阻力垂直坐标endplot(x,y,'r',px,py,'g');%红的有阻力,绿的无阻力grid onxlabel('x'),ylabel('y');

通过结果基本可以比较直观的看出阻力的作用。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
