ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

投篮篮球儿轨迹MATLAB仿真

2021-11-18 17:01:52  阅读:182  来源: 互联网

标签:deltat 阻力 篮球 投篮 球儿 MATLAB 速度 Vx Vy


       投篮儿时篮球儿的轨迹大多算是斜上抛运动,给球儿一个初始儿的斜儿上方的初速度,球儿自己做斜上抛运动,但考虑到空气儿阻力,球儿的实际轨迹会与理想轨迹有一定误差,本次将球儿的理想曲线儿和实际曲线儿放到一个图里进行对比,直观感受一下空气阻力的作用,由于时间关系本次没有考虑刮风的情况,有时间再把带风儿的加上。(数学好的投篮时可以快速算一下投出的角度和速度,保证百发百中,

        仿真大致思路:首先定义好每个固定的变量,比如球儿的质量,大小,空气密度等,定义时间间隔为0.01s,通过每0.01s选取一个坐标点连起来就是大致的轨迹。由于速度的矢量方向和水平面夹角会随着时间的变化变化,因此要将速度矢量方向、阻力方向和速度大小联系起来,同时,阻力大小也和速度有关,这里将其关系设为阻力和速度大小的平方成正比。同时,球儿的速度和位置采用递归的方式表示。光用文字表达可能越说越迷糊,直接上代码。

代码:

clc

clear

g=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;%无阻力垂直坐标

end

plot(x,y,'r',px,py,'g');%红的有阻力,绿的无阻力

grid on

xlabel('x'),ylabel('y');

 

 

通过结果基本可以比较直观的看出阻力的作用。

标签:deltat,阻力,篮球,投篮,球儿,MATLAB,速度,Vx,Vy
来源: https://blog.csdn.net/qq_34520339/article/details/121404474

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有