Python微信订餐小程序课程视频
https://edu.csdn.net/course/detail/36074
Python实战量化交易理财系统
https://edu.csdn.net/course/detail/35475目录
回到顶部# 技术背景
乒乓球作为国球,不仅仅是在奥运等众多赛场上为中国收纳了多枚奖牌,更是在民间广为大家所好。在上一篇博客中主要讲述了马格努斯力在乒乓球的运动过程中的应用,并且从俯视图的角度看到了乒乓球的各种旋转下的弧圈轨迹。本文主要讲述的是空气阻力对乒乓球的运动过程的影响。
回到顶部# 空气阻力的模拟
我们所了解到的空气阻力的表达式为:
F=CρSv2F=C\rho Sv^2
其中C是一个常数,对于不同的物质参数有可能不同,这个需要在实验中进行测定,而这里我们就简单取一个假设值即可。ρ\rho表示空气密度,S表示迎风面积,对于一个乒乓球而言,迎风面积其实就是乒乓球的投影面积,v表示速度,空气阻力与速度的平方成正比。至于阻力的方向,那肯定是跟乒乓球的运动方向相反的,来拒去留。相关的模拟测试代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import numpy as np
from tqdm import trange
import matplotlib.pyplot as plt
vel = np.array([4.,4.])
vel0 = vel.copy()
steps = 100
r = 0.02
rho = 1.29
mass_min = 2.53e-03
mass_max = 2.70e-03
dt = 0.01
g = 9.8
C = 0.1
s0 = np.array([0.,0.])
s00 = np.array([0.,0.])
s1 = [s0.copy()]
for step in trange(steps):
s0 += vel*dt
s1.append(s0.copy())
# print (vel)
vel &