很明顯,蜘蛛俠在蛛絲上飛蕩的時候酷斃了。但是,這真能節約他的時間嗎?
一旦蜘蛛俠開始飛來蕩去,他就變得像個單擺。他的運動由蛛絲的長度和初始角度決定。從受力角度看,他只受蛛絲的拉力和把他往下拉的重力。這裡的關鍵因素有擺動角度,擺動周期和擺動的距離。
在深入探討前,我們不妨將飛蕩看做一種運輸方式。
泰山式飛蕩
我們首先說說人猿泰山式的飛蕩。泰山(你知道的,就是那位叢林之王)靠藤條而不是蛛絲進行擺動。他抓著一根藤,擺到那條藤快到達其最高點時再抓住另一根藤。沒錯,他抓的藤可能是垂直懸掛的,因此他會從擺的最低點開始下一次擺動。這看起來不是很高效,所以我們就假設藤為他預設好非垂直懸掛,這樣他可以在藤上擺動並且起始速率與換藤時速率相同。
當人在這樣的繩上擺動時,你要怎麼為這個運動建模呢?你或許會說「哎呀,這不就像是個單擺罵。單擺很簡單啊。它們的振動周期由繩長決定。」嗯,這當然是對的。一個振動(一去一回)所需時間叫做振動周期。泰山只擺動到全程的一半(只是一去),所以他擺動的時間是:
但是等一下!這個表達式不真的準確——這只是在擺動角很小時的一個近似公式(經驗上講這條式子適用於單擺初始與豎直線夾角小於15°的時候)。你要怎樣算出初始角更大時的擺動時間呢?這不是個簡單的問題(但也不是不能解決)。我喜歡用數值計算和python代碼來解決。
一旦我有了一段可以確定擺動時間的代碼,我就可以改變一些條件,譬如初始角度和蛛絲的長度。以下是一張不同條件下的平均擺動速率圖。噢,我說的平均擺動速率指的是什麼?就是水平距離(擺動起點到同一水平線上的擺動終點的距離)除以經歷這段距離的時間。
這都意味著什麼?讓我們先來看下蛛絲10米長時的情況:如果你增加初始角度,你的平均速率會變大。為什麼?因為增加初始角度亦意味著你的起始位置變高了,所以下降時增加的速率也更多。然而,這不適用於所有角度。你可以看到初始角度為80°時平均速率最高——如果大於這個角度,你就會將時間浪費在一開始垂直向下的運動和結束前垂直向上的運動上。
蛛絲的長度又會起到怎樣的影響呢?很明顯,蛛絲越長水平方向上的平均速率越大。這又是為什麼?在幾乎相同的時間內,長的蛛絲掃過的距離要大很多。同樣時間內,走得越遠,平均速率就越大。
多加一張圖怎樣?如果我將初始角度定為75°,而只改變蛛絲的長?這是一張不同蛛絲長度下擺動平均水平速率的函數圖像。
可以看到,即使有一條超長的蛛絲(60米),平均速率依舊在13m/s(大約30邁)左右。這速度挺好了,但是我打賭蜘蛛俠跑步也可以跑這麼快。我的意思是,他可是蜘蛛俠啊!
蜘蛛俠優化式擺動
只是,為什麼蜘蛛俠要像泰山那樣擺動?那可是普通人類的擺動方式,不是蜘蛛俠的。他能做得更好,不是嗎?泰山在藤靜止的時候開始擺動,然後一直蕩到藤停下來為止。蜘蛛俠來蕩會有什麼不同?他會蕩起來,然後在擺動停止前鬆手——這意味著他可以在空中「飛」一段,然後再射出下一蛛絲。因此,蜘蛛俠的運動將會是一個擺動加一個斜拋運動。
讓我選幾個值然後畫一個類似於這樣的運動軌跡圖:
在這次飛蕩中,蜘蛛俠的初始速率是8m/s,蛛絲長為20米,初始角度是45°。藍線是這段運動的軌跡(他在向左運動)。一旦他蕩到另一邊(但非最高點,因為如果到那他就會靜止),他鬆手然後進行斜拋運動。綠線是他在空中回到初始高度的運動軌跡,當到達初始鬆手時的高度,他會射出另一條蛛絲,然後整個運動再重來一遍。
現在我可以只看他水平運動的距離和經歷該距離的時間,得出他的水平方向上平均速率是15.9m/s。
這比同樣長度下泰山式擺動的最大速度(大約8m/s)快多了。但是,這很大程度上得益於他8m/s這麼高的初始速率。事實上,如果你只看他在蛛絲上擺動的那段運動過程,他水平方向上的平均速率是14.3m/s,差不多和總的平均速率一樣。
用不用跑的?
然而,問題的答案到底是什麼?蜘蛛俠用跑的話會不會更好?
答案是「不會」。
為什麼?
一個顯而易見的原因是:飛蕩看起來很酷。
而且,想想看小蜘蛛在地上跑著去目的地的情形——人們會嘗試截住他來和他打招呼,或者問他要籤名啊什麼的,這樣可沒辦法走啦。而且我猜,如果玩這種小蜘蛛式飛蕩玩多了,我或許能優化這種擺動使之獲得更大平均速率。