蜘蛛侠该飞荡还是该跑步?_最新动态_新闻资讯_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 新闻资讯 > 最新动态 > 蜘蛛侠该飞荡还是该跑步?

蜘蛛侠该飞荡还是该跑步?

 2014/5/30 10:20:02    程序员俱乐部  我要评论(0)
  • 摘要:很明显,蜘蛛侠在蛛丝上飞荡的时候酷毙了。但是,这真能节约他的时间吗?蜘蛛侠利用蜘蛛丝在城市中潇洒利落地飞荡。图片来源:fc05.deviantart.net一旦蜘蛛侠开始飞来荡去,他就变得像个单摆。他的运动由蛛丝的长度和初始角度决定。从受力角度看,他只受蛛丝的拉力和把他往下拉的重力。这里的关键因素有摆动角度,摆动周期和摆动的距离。在我深入讲之前,我们不妨将飞荡看做一种运输方式。泰山式飞荡我们首先说说人猿泰山式的飞荡。泰山(你知道的,就是那位丛林之王)靠藤条而不是蛛丝进行摆动。他抓着一根藤
  • 标签:

  很明显,蜘蛛侠在蛛丝上飞荡的时候酷毙了。但是,这真能节约他的时间吗?

  蜘蛛侠利用蜘蛛丝在城市中潇洒利落地飞荡。图片来源:fc05.deviantart.net

  一旦蜘蛛侠开始飞来荡去,他就变得像个单摆。他的运动由蛛丝的长度和初始角度决定。从受力角度看,他只受蛛丝的拉力和把他往下拉的重力。这里的关键因素有摆动角度,摆动周期和摆动的距离。

  在我深入讲之前,我们不妨将飞荡看做一种运输方式。

  泰山式飞荡

  我们首先说说人猿泰山式的飞荡。泰山(你知道的,就是那位丛林之王)靠藤条而不是蛛丝进行摆动。他抓着一根藤,摆到那条藤快到达其最高点时再抓住另一根藤。没错,他抓的藤可能是垂直悬挂的,因此他会从摆的最低点开始下一次摆动。这看起来不是很高效,所以我们就假设藤为他预设好非垂直悬挂,这样他可以在藤上摆动并且起始速率与换藤时速率相同。

  当人在这样的绳上摆动时,你要怎么为这个运动建模呢?你或许会说“哎呀,这不就像是个单摆骂。单摆很简单啊。它们的振动周期由绳长决定。”嗯,这当然是对的。一个振动(一去一回)所需时间叫做振动周期。泰山只摆动到全程的一半(只是一去),所以他摆动的时间是:

  但是等一下!这个表达式不真的准确——这只是在摆动角很小时的一个近似公式(经验上讲这条式子适用于单摆初始与竖直线夹角小于 15°的时候)。你要怎样算出初始角更大时的摆动时间呢?这不是个简单的问题(但也不是不能解决)。我喜欢用数值计算和 python 代码来解决。

  一旦我有了一段可以确定摆动时间的代码,我就可以改变一些条件,譬如初始角度和蛛丝的长度。以下是一张不同条件下的平均摆动速率图。噢,我说的平均摆动速率指的是什么?就是水平距离(摆动起点到同一水平线上的摆动终点的距离)除以经历这段距离的时间。

  这都意味着什么?让我们先来看下蛛丝 10 米长时的情况:如果你增加初始角度,你的平均速率会变大。为什么?因为增加初始角度亦意味着你的起始位置变高了,所以下降时增加的速率也更多。然而,这不适用于所有角度。你可以看到初始角度为 80°时平均速率最高——如果大于这个角度,你就会将时间浪费在一开始垂直向下的运动和结束前垂直向上的运动上。

  蛛丝的长度又会起到怎样的影响呢?很明显,蛛丝越长水平方向上的平均速率越大。这又是为什么?在几乎相同的时间内,长的蛛丝扫过的距离要大很多。同样时间内,走得越远,平均速率就越大。

  多加一张图怎样?如果我将初始角度定为 75°,而只改变蛛丝的长?这是一张不同蛛丝长度下摆动平均水平速率的函数图像。

  可以看到,即使有一条超长的蛛丝(60 米),平均速率依旧在 13m/s(大约 30 迈)左右。这速度挺好了,但是我打赌蜘蛛侠跑步也可以跑这么快。我的意思是,他可是蜘蛛侠啊!

  蜘蛛侠优化式摆动

  只是,为什么蜘蛛侠要像泰山那样摆动?那可是普通人类的摆动方式,不是蜘蛛侠的。他能做得更好,不是吗?泰山在藤静止的时候开始摆动,然后一直荡到藤停下来为止。蜘蛛侠来荡会有什么不同?他会荡起来,然后在摆动停止前松手——这意味着他可以在空中“飞”一段,然后再射出下一蛛丝。因此,蜘蛛侠的运动将会是一个摆动加一个斜抛运动。

  让我选几个值然后画一个类似于这样的运动轨迹图:

  在这次飞荡中,蜘蛛侠的初始速率是 8m/s,蛛丝长为 20 米,初始角度是 45°。蓝线是这段运动的轨迹(他在向左运动)。一旦他荡到另一边(但非最高点,因为如果到那他就会静止),他松手然后进行斜抛运动。绿线是他在空中回到初始高度的运动轨迹,当到达初始松手时的高度,他会射出另一条蛛丝,然后整个运动再重来一遍。

  现在我可以只看他水平运动的距离和经历该距离的时间,得出他的水平方向上平均速率是 15.9m/s。

  这比同样长度下泰山式摆动的最大速度(大约 8m/s)快多了。但是,这很大程度上得益于他 8m/s这么高的初始速率。事实上,如果你只看他在蛛丝上摆动的那段运动过程,他水平方向上的平均速率是 14.3m/s,差不多和总的平均速率一样。

  用不用跑的?

  然而,问题的答案到底是什么?蜘蛛侠用跑的话会不会更好?

  我的答案是“不会”。

  为什么?

  唔,一个显而易见的原因是:飞荡看起来很酷。

  而且,想想看小蜘蛛在地上跑着去目的地的情形——人们会尝试截住他来和他打招呼,或者问他要签名啊什么的,这样可没办法走啦。而且我猜,如果玩这种小蜘蛛式飞荡玩多了,我或许能优化这种摆动使之获得更大平均速率。(编辑:Calo)

  作为超级英雄,蜘蛛侠还是飞来荡去的比较好。图片来源:i.minus.com

  编译自:Rhett Allain. Should Spider-Man Swing or Run? WIRED

  文章题图:veryaware.com

  • 相关文章
发表评论
用户名: 匿名