摘要:來源重力助推而在影片中,也就是為了獲取更大的速度以脫離太陽系,人類才選擇借助木星的引力彈弓效應。引力彈弓的概念在幾年前的星際穿越和火星救援中都有提及,我一直想寫個模擬,直到這次趁流浪地球熱映的機會才動手實現。
本文涉及影片內容,但算不上劇透。想看還未看的同學請謹慎閱讀。
春節檔的幾部電影里,《 流浪地球 》成為一匹黑馬,刷爆微博和朋友圈,從最初不高的排片率,一躍上升到票房榜首。
看過影片的人可能會有一個疑問, 太陽系那么空曠,為什么地球在“流浪”的過程中,非要作死往木星上靠?
這就牽涉到一個時常在影視作品中拿來做文章,實際在太空探測中很常見的一個概念:
引力彈弓效應當一個飛行器飛過一個行星時,如果距離較近,就會受到行星的引力影響:靠近時會逐漸加速,遠離時會逐漸減速。由于能量守恒,飛行器在進入和離開行星軌道時,與行星的相對速度大小沒有變化,但方向卻發生了變化。再加上行星本身的速度,從旁觀者角度來看,飛行器的速度就發生了變化。舉個更通俗的例子: 你把一個網球以速度 v 砸向一面墻,球會以同樣的速度 v 反彈回來;而如果你以速度 v 砸向一個以速度 u 迎面開來卡車頭上,網球則會以 v + 2u 的速度反彈回來(相對速度 v + u 加上卡車速度 u) 。
利用這個辦法,可以 在不額外消耗燃料的情況下,使太空探測器得到加速 ( 或者減速 ,取決于與行星接觸的角度)。這看起來似乎不符合能量守恒定律和動量守恒定律,實則是因為行星的質量相較飛行器來說太大了,其速度的變化可以忽略不計。
目前離地球最遠人造物體: 旅行者1號 ,當年就連續利用了 木星 和 土星 進行了加速。
來源:wikipedia-重力助推
而在影片中,也就是 為了獲取更大的速度以脫離太陽系 ,人類才選擇 借助木星的引力彈弓效應 。
出于好奇,我 用 python (pygame)寫了一個簡化的仿真,模擬地球飛越木星時可能發生的情況:
利用引力彈弓加速
速度太快或距離太遠,加速效果不明顯
速度太慢或距離太近,墜入木星
利用引力彈弓減速
視頻版
python模擬木星引力彈弓效應 https://www.zhihu.com/video/1079021435854548992
通過幾次測試,我發現這“彈弓”可不是那么好用的,離得遠了沒啥效果,離得太近又可能被引力捕獲,撞在木星上(事實在撞上之前,地球就會因達到 洛希極限 而被撕裂)。
至于劇中發生了什么,我這里也就不多說了。
我這個模擬代碼中,為了視覺效果,地球和木星的大小,以及他們的相對距離是不成比例的,否則會更小。而且為了讓速度變化更明顯,對運行速度也做了放大。所以 從絕對數值上來說是不準確的,但相對變化都是通過基本物理定律計算得出的 。
核心部分代碼:
# 地木坐標差 delta_x = (jupiter[0] - earth[0]) * k delta_y = (jupiter[1] - earth[1]) * k # 地木距離平方 r2 = delta_x ** 2 + delta_y ** 2 # 地木間引力,萬有引力定律 F = G * m * M / r2 # 地木夾角 theta = math.acos(delta_x / r2 ** 0.5) # x、y 軸引力分量 fx = abs(F * math.cos(theta)) * sign(delta_x) fy = abs(F * math.sin(theta)) * sign(delta_y) # x、y 軸加速度,牛頓第二定律 F = ma ax = fx / m ay = fy / m # 速度變化,vt = v0 + at vel_x += ax * t vel_y += ay * t # 位移變化,st = s0 + vt pos_x += vel_x * t / k pos_y += vel_y * t / k
相關參數:
k = 1e7 # 距離縮放參數 m = 5.9742e24 # 地球質量 M = 1898.7e27 # 木星質量 G = 6.67259e-17 # 萬有引力常量 t = 1e5 # 時間縮放參數 pos_x= 0 # 地球坐標 pos_y= 550earth = pos_x, pos_y vel_x= 300 # 地球速度 vel_y= 0jupiter = 700, 150 # 木星坐標 v_j = 3 # 木星速度
想要測試不同效果,可以調整坐標、速度等參數。
“引力彈弓”的概念在幾年前的《 星際穿越 》和《 火星救援 》中都有提及,我一直想寫個模擬,直到這次趁《流浪地球》熱映的機會才動手實現。這部電影我從去年7月尚未跳票之時比較期待,也看過原著,本來還擔心會不會排片太少,沒想到會火成這樣。這里面當然有很多偶然的商業因素,影片本身也有很多不足,但我作為一個“科學愛好者”,樂見如此。之前流產的《 三體 》電影版或許也因此有機會重新投胎。
希望以后會有更多精彩的科幻作品出現,也希望更多的人在低頭忙碌之余能抬頭仰望星空。
模擬代碼已上傳,獲取請在公眾號( Crossin的編程教室 )中回復關鍵字: 引力
════
其他文章及回答:
如何自學Python | 新手引導 | 精選Python問答 | Python單詞表 | 人工智能 | 爬蟲 | 我用Python | requests | 計算機視覺 | 字符播放器 | 一圖學Python | 智能防擋彈幕
歡迎搜索及關注: Crossin的編程教室
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43187.html
摘要:為了修好發動機,阻止地球墜入木星,全球開始展開飽和式營救,連劉啟他們的車也被強征加入。方法用于把一個字符串分割成字符串數組。空字符串每個字符之間都會被分割存在的字符串不存在的字符串把數組中的所有元素放入一個字符串可選。 showImg(https://segmentfault.com/img/bVboMAi?w=1053&h=802); Search ...
摘要:下載數據方法使用官方的數據最新打包的中文文檔下載地址是。中文維基數據繁簡混雜大家都說存在這個問題,但的網站是將繁體中文和簡體中文分開處理的,所以一直覺得從數據庫到結構都應有方法將兩者區分開,暫罷,待有空研究其數據時再議。 照例,先講下環境,Mac OSX 10.11.2 ,Python 3.4.3。 下載數據 方法1:使用官方dump的xml數據 最新打包的中文文檔下載地址是:http...
摘要:以年輕人為例,他們使用社交媒體的頻率最高,也是對投資期限和回報率最為敏感的人群。此外,也不利于網絡表情包的傳播。在社交網絡中,社會資本回報率的梯度,往往可以主導你在不同人群中的市場份額。否則,就會出現社會資本不平等。 本文作者 Eugene Wei 是 Amazon 戰略部門的第一位分析師,后來還擔任過 Flipboard, Hulu, Oculus 的產品負責人。 原文標題是 ...
摘要:今年的流浪地球這么火,通過爬取貓眼電影上網友對該片的評價如何。也許很多人在這天通過看流浪地球過節吧。 背景 最近幾年貓眼電影越來越熱門了,都差不多和豆瓣并駕齊驅了。今年的《流浪地球》這么火,通過爬取貓眼電影上網友對該片的評價如何。 爬取貓眼評論 找到評論網頁地址 先打開貓眼官網找到《流浪地球》的介紹頁面:https://maoyan.com/films/248906 showImg(h...
閱讀 3323·2021-11-25 09:43
閱讀 3008·2021-10-15 09:43
閱讀 1965·2021-09-08 09:36
閱讀 2918·2019-08-30 15:56
閱讀 742·2019-08-30 15:54
閱讀 2684·2019-08-30 15:54
閱讀 2973·2019-08-30 11:26
閱讀 1237·2019-08-29 17:27