[关闭]
@probe 2015-04-29T12:56:39.000000Z 字数 3532 阅读 1542

如何完善速7中的物理引擎?

Guokr

在电影《速度与激情7》(Furious 7)中,冯·迪索(Vin Diesel)和保罗·沃克(Paul Walker)驾驶着莱肯超跑(Lykan HyperSport) 两次飞跃阿布扎比阿提哈德塔(Etihad Towers)的一幕让许多电影院观众看得目瞪口呆。

插入电影中那一段的视频

虽然好莱坞的特效技术能让一切现实中难以出现的场景都成为可能,不过地球上也有一些私设武装组织能够让好莱坞的顶级特效团队都相形见绌,比如:

暂不考虑这段视频是否加了特效,我们先来分析分析如何由浅入深地完善《速度与激情7》中的物理引擎。

入门级:平抛运动

将电影中的第一次飞跃场景做最大程度的简化,将超跑看做质点,忽略空气阻力和撞击玻璃时的速度衰减,建立起最简单的数学模型,那当然就是高中物理所学的平抛运动了。我们只需要知道超跑离开前一座大楼时的速度和两座楼之间的距离,就能知道超跑何时撞向另一座大楼,以及撞击的速度。

Lykan HyperSport 从 0 加速到 100 km/s 仅需 2.8 s,最大加速度为 10 m/s^2,能达到的最大速度为 107 m/s [1]。在电影的场景中,虽然起飞前引擎的轰鸣声已经超过了 8 s,但是除去电影中慢镜头的时间以及多镜头剪辑中所重复的时间,实际的加速时间也就 4 s左右。所以我们假设超跑起飞的速度为 40 m/s。

通过 Google 地图我们可以知道,两座塔的距离大约是 40 m。根据平抛运动的公式,我们很容易算得滞空时间:

t=sv0=1s

在这段时间内,超跑下落了:

h=12gt2=9.8m

大约两到三层楼的高度。

撞击时的速度也能够得到:

v=v20+2gh=42.3m/s

问题就这样简单暴力地解决了。

入门级:撞击玻璃

如果我们需要将碰撞玻璃造成的速度损失考虑在内,应该如何计算呢?最简单的思路就是,暂且忽略破坏玻璃所需要的能量,仅考虑两者的碰撞,利用动量守恒进行计算。

可以查到,莱肯超跑长4.48m,宽1.94m,高1.17m,质量为1380kg。再考虑到两位演员的体重共计180kg,我们可以将其看作一个质量为1560kg的长方体。而一般建筑所用的钢化玻璃厚度在10mm左右。

在超跑与玻璃碰撞以后,碎片四溅,为了简化,我们只考虑超跑正前方的玻璃在碰撞之后朝正前方飞行的情况,并假设为完全非弹性碰撞:

所撞击的玻璃质量:

mglass=bhtρglass=59kg

撞击后的速度:

v=MLv0(ML+mglass)=0.96v0=38.5m/s

超跑的动能损失(%):

ΔE1=12MLv2012MLv212MLv20×100%=7.2%

进阶级:榴弹的作用

在超跑飞跃至半空中时,杰森·斯坦森(Jason Statham)还发射了一发枪榴弹助跑车一臂之力。为了将榴弹的影响考虑在内,我们可以分为一下两步来看:枪榴弹与跑车相撞;枪榴弹爆炸。

枪榴弹与跑车相撞同样满足动量守恒定律,假设发射的枪榴弹质量为0.5kg,速度为76m/s[2],那么可以很容易得到击中后超跑的速度:

v1=MLv0+MbvbML+Mb=40.01m/s

看来这部分的影响微乎其微,那么爆炸带来的影响能有多大呢?

假设榴弹内装填的是TNT炸药,其爆速为6900m/s[3],爆炸范围为一个球面,其中有一半的爆炸物质能对超跑产生作用。对作用于车尾的爆炸物质的动量在半球面上积分,可以得到超跑的速度增量为:

Δv=1MLm4πr2(vesinθsinϕ)r2sinθdθdϕmve4ML=0.55m/s

看起来也并没什么卵用。

进阶级:钢化玻璃破坏

当然,撞碎玻璃对超跑动能的减小不仅体现在碰撞方面,要进一步完善我们的物理引擎,还应该将破坏钢化玻璃所需的能量考虑在内。

一般的材料可以分为脆性材料和塑性材料,材料的脆性或者塑形是根据破坏时产生的变形量大小来定义的。玻璃是一种典型的脆性材料,这意味着它在产生较大变形之前就已经破坏了。相较之下,低碳钢钢制品就能够承受大的变形仍不被破坏。

钢化玻璃比普通玻璃具有更高的强度和抗冲击性能,这是因为在经过淬火处理时,玻璃表面比内部更快冷却,从而在玻璃表面产生压应力,内部产生拉应力。在钢化玻璃局部被破坏时,由于内部应力释放,会使裂纹迅速扩展,形成极小的碎片颗粒。

插入视频或动图
(http://www.iqiyi.com/w_19rs72xk2t.html)

在实际工程中,为了衡量钢化玻璃的抗冲击性能是否能够满足要求,采用了落球冲击试验和霰弹袋冲击试验对钢化玻璃进行测试。在这里,我们利用国标中霰弹袋冲击试验测试标准,对破坏钢化玻璃造成的超跑动能减小进行估算:

在国标中,尺寸为1930mm(0mm,+5mm)×864mm(0mm,+5mm)的钢化玻璃试样必须能够抵抗质量为45±0.1kg[4]的霰弹袋从1200mm高度摆下后造成的水平冲击[5]。也就是说,破坏该尺寸下的钢化玻璃至少需要的能量为:

E=mballgh=530J

在电影的一个镜头中,超跑的撞击至少破坏了四块尺寸为(估测)2.5m×1m的钢化玻璃,改尺寸与试件尺寸近似,我们就可以认为能量损失为:

Eall=4E=2120J
ΔE2=Eall12MLv20×100%=0.17%

显然,在上述的假设条件下,破坏所造成的能量损失比碰撞要少得多。

注释:简单地使用能量来求解破坏或者冲击问题并不准确,严格来说还需要考虑玻璃的支撑条件以及振动等问题,这里只提供一个并不精确的估算

进阶级:超跑的姿态

为了让我们的物理引擎更加真实,就不能简单地将超跑看做质点,如果将跑车在空中飞行时的角度也考虑在内的话,就属于刚体运动的范畴。

在忽略空气阻力的情况下,如果超跑起飞时的速度是严格水平的话,那么它应该始终保持水平的姿态飞向对面的大楼才对。那么,飞行过程中产生的转角是怎么来的呢?

为了考虑这个问题,我们需要先回到超跑刚刚离开前一座楼的那一刻。

在起飞的前一个瞬间,超跑受力是这样的:


而在下一个瞬间,前轮已经离开了地面,但后轮仍然抓地。因此,超跑会在这极短的时间内收到一个力矩,正是这个力矩给了超跑转动的初始角速度:

莱肯超跑两轮之间间距为2.63m,假设其质心刚好在两轮中间,运用上面的数据进行计算,我们可以得到力矩的大小为:

M=14MLgd=10052Nm

将超跑看作均质的长方体,其转动惯量为:

I=112ML(a2+h2)=2787kgm2

力矩作用时间为:

tM=dv0=0.06575s

在这段时间,超跑所得到的初始角速度:

ω=MItM=0.237rad/s

飞跃大楼的时间内,超跑转过的角度为:

α=ωt=0.237rad=13.2°

结果与电影中的误差并不大:

参考资料


[1] 维基百科:Lykan HyperSport
[2] 维基百科:M320榴彈發射器
[3] 维基百科:Table of explosive detonation velocities
[4] GB 9962-1999
[5] GB 15763.2- 2005
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注