蜘蛛侠及其新蜘蛛翅膀的物理学



我不会撒谎,我真的很期待电影《蜘蛛侠:英雄归来》。同时,对我而言,唯一的出路将是做蜘蛛侠的物理学。我会照顾他在上一个预告片中看到的新蜘蛛网的翅膀。

对于粉丝,我注意到一些有关蜘蛛侠的原始漫画确实显示了他是如何使用它们的,尽管他并不总是将它们用于飞行。

物理规划


蜘蛛侠从建筑物跳下后会发生什么?我可以通过接受三个力作用在他身上来模拟他的运动-重力,空气阻力和升力。在您允许的情况下,我将对其进行描述。

•重力-与紧急情况的质量成比例的恒定向下力(至少在地球表面上)。
•抵抗力。想象一下,您正在将一个物体拉过一个巨大的乒乓球海。用空气替换球-大约一样。阻力随速度增加。
•提升力。再次,想象一下与球的碰撞,但是在那之后球反弹。用空气替换球,您将获得升力,具体取决于攻角,表面和速度。

这是一个计划人员在紧急情况下的力量的美丽示意图。是的,虽然我们用三角形建模。

图片

在我们的简单模型中,提升力垂直于速度,而阻力指向相反的方向。为了模拟带有机翼的紧急事件的移动,我需要为它们两个都配备一个公式。

图片

这些是对我们很重要的力量的价值。它们相似,除了C L(升力系数)和C D(阻力系数)。在这两种情况下,ρ是空气密度(1.2 kg / m 3),而v是速度。

什么是A?这是一个人的横截面积(在我们的情况下为紧急情况)。理论上,取决于迎角,用于阻力和用于提升力的A应该有所不同。但是我并不总是确切地知道自己在做什么-这就是为什么我使用不同的来源进行核对的原因,以及2011年的文章“ 蝙蝠侠堕落的轨迹“来自物理杂志Journal of Physics Special Topics。在其中,作者使用了相同的阻力和提升力区域,因此我将执行相同的操作。

轨迹建模


如果紧急事件从建筑物跳下,它在跌倒时能移动多远?蜘蛛的翅膀会给他带来什么不同?对紧急状态进行建模并不是那么简单,因为阻力和升力取决于速度。只能使用将运动分为小步幅数值模型来计算这样的轨迹

让我们做个近似。首先,我们计算紧急情况的表面积。粗略估计,我得到了

图片

什么带翼的面积约为0.651 m 2,不带翼的面积为0.513 m 2。其他值:

•提升系数= 1.45(该值取自蝙蝠侠的工作)
•阻力系数= 0.4(来自同一地点)
•重量= 64千克
•初始速度= 8 m / s(水平)
•还有一个假设:恒定的迎角,与此相关的阻力和升力系数不会改变。

我毫不犹豫地跳入了数值模型的世界。我在代码中留下了注释,以便您可以重新制作它以用作作业。

GlowScript 2.1 VPython
#this is the area with the wings
A1=0.651

#area without wings
A2=0.513

g=vector(0,-9.8,0)

m=64 #mass of Spider-Man

CL=1.45 #coefficient of lift
CD=0.4 #coefficient of drag
rho=1.2 #density of air

#starting velocity 
#try changning this
v0=8
#starting momentum assuming horizontal - change this
p=vector(v0,0,0)*m
#p2 is just the momentum for the comparison
p2=p

t=0
dt=0.01

#starting height
h=40
#starting position
r=vector(0,h,0)
r2=r

#these are for the graphs
f1=series(color=color.red)
f2=series(color=color.blue)

while r.y>0:
    #calculate the velocity to use in lift-drag
    v=p/m
    v2=p2/m
    
    #calculate the drag force
    Fd=-.5*rho*A1*CD*(mag(v)**2)*norm(v)
    Fd2=-.5*rho*A2*CD*(mag(v2)**2)*norm(v2)
    
    #calculate lift (notice cross product to get direction)
    FL=-.5*rho*A1*CL*(mag(v)**2)*cross(norm(v),vector(0,0,1))
    FL2=-.5*rho*A2*CL*(mag(v2)**2)*cross(norm(v2),vector(0,0,1))
    
    #total force
    F=m*g+Fd+FL
    F2=m*g+Fd2+FL2
    
    #update momentum
    p=p+F*dt
    p2=p2+F2*dt
    
    #update position
    r=r+p*dt/m
    r2=r2+p2*dt/m
    
    #update time
    t=t+dt
    
    #plot stuff
    #change this if it makes you happy
    f1.plot(r.x,r.y)
    f2.plot(r2.x,r2.y)

print("Glide Ratio 1 = ",-p.x/p.y)
print("Glide Ratio 2 = ", -p2.x/p2.y)

图片

在我的模型中,红线表示带有机翼的紧急情况的轨迹,蓝线表示没有机翼的紧急情况。我还得出了空气动力学质量的价值。由于最终它以恒定速度运动,因此该比率将简单地等于动量的x分量除以y分量之比。

作业

使用此数值模型可以回答以下问题。不用担心,您不会破坏任何东西。如果您对代码执行某些操作,只需重新启动并重新开始即可。

根据维基百科,对于跳伞穿着跳伞服的跳伞运动员,其空气动力学质量(升力与阻力之比)的值约为2.5:1(也就是说,我们的程序将得出数字2.5)。您可以更正代码,以便程序产生这样的值吗?提示:改变表面积和初始速度。
•如果紧急情况垂直下降怎么办?如果没有翅膀,它将获得什么最高速度?
•紧急情况需要多快水平移动才能在飞行开始时飞起来而不是降下来?
•紧急跳伞是否可以向下瞄准,以提高速度并在一段时间内进入水平飞行状态?
•您是否可以建立考虑到攻角的改进模型?也许可以,但是在我看来,低速飞行是一个相当复杂的话题。

Source: https://habr.com/ru/post/zh-CN399957/


All Articles