離我們(地球)最近的行星是哪顆?

9月31號那天,我發(fā)起了這樣一個投票:

投票后33小時后,大家的反饋如下:

不出意外的,金星和火星成為了熱門選擇。也有選了木星和土星的,各兩票,這應(yīng)該可以作為瞎選人數(shù)估算參考。從評論看,有部分小伙伴看出了這種問題必有蹊蹺,所以作了非常規(guī)選擇,“其他”這里的10票有不少出自這種心態(tài),水星的選項估計也有類似的情況。

說回正題,為啥我會提這么一個問題?正確的答案又是什么?
這要從CGP Grey(我心目中的geek之神)同在30號發(fā)布的一個視頻說起,那就是萬惡之緣。

標(biāo)題和本篇完全相同,結(jié)果讓我感到意外,很反直覺。試了兩個同事,依然被坑,于是果斷開始散播這個問題以報復(fù)社會……

到底答案是啥呢?不急,我們按思路來講。下面是本篇對應(yīng)視頻的大綱:

心理準(zhǔn)備做好了么~ 我們開始吧

回顧下太陽系行星成員吧,我們的九……不,八大行星:

從公轉(zhuǎn)軌道半徑來排序,地球排行第三,前后分別是金星和火星。
那么,離地球最近的不應(yīng)該就是金星或者火星了么?
然而,如果這樣想你就落入了直覺的陷阱。所謂“距離”,就單純是“軌道半徑差”么??問題并不是那么簡單……


是的,行星并不會老老實實地排成一行,其位置關(guān)系是隨時都在變化的,行星間的距離也一直隨著相對位置的變化而變化:


所以其實在回答問題之前我們應(yīng)當(dāng)反思問題:
“距離”是個啥意思?在這個情況下,如何進(jìn)一步定義距離,才會讓問題更有討論價值。討論最短距離么?那確實用軌道半徑差就可以。但似乎和大部分的情況有所脫離。似乎討論“平均距離”才更具備現(xiàn)實意義。
問題并不直觀,“想”并沒啥卵用,得算一算。于是……

這里是我簡單畫了下任意兩個行星的軌道示意圖,姑且我們這里都把軌道簡化為圓軌道,并忽略水星軌道面的額外傾角。
因為兩者都是在引力作用下的圓周運動,我們知道內(nèi)圈的總是比外圈的有更快的角速度。另外因為這里我們只關(guān)心兩者的相對距離,我們可以進(jìn)一步簡化模型——轉(zhuǎn)換參考系,固定地球和太陽的連線。(兩個討論的行星中一顆為地球) 如此一來:

就變成了太陽與地球都不動,只有額外的一顆行星在做更小的一個角速度的繞日圓周運動。這個簡化模型下,兩行星的距離完全只取決于行星2號的位置。
我們要來求“平均”,當(dāng)然最直接也是最合理的選項就是用“時間”來平均,因為近似了圓周運動,有恒定的角速度,所以用“角度”來平均也是等效的。那么我們設(shè)置下角度:

設(shè)置了角度以后,行星間的距離很容易用幾何方法得到。這里比較直接的就是應(yīng)用余弦定理。接著,對一個函數(shù)變量進(jìn)行平均的最標(biāo)準(zhǔn)做法,就是平權(quán)求和/積分:

這里特意對距離的平方進(jìn)行積分,是一種出于積分方便的考慮,待會兒會進(jìn)一步再提??傊?,我們代入距離的函數(shù),來算這個積分來求平均的距離平方。

實際操作一下我們就會發(fā)現(xiàn)這個積分十分之簡單,唯一帶sin的一項在0--2pi之間積分為零。所以我們得到:
平均距離平方=兩個行星軌道半徑的平方和
這個結(jié)論非常之簡潔、有力和美妙,以及出乎意料!—— 另一顆行星的軌道半徑越小,那么距離地球的平均距離也就越小。所以離地球平均距離最近的是公轉(zhuǎn)軌道半徑最小的水星!之后依次才排到金星、火星、木星、土星等……
不僅僅如此,這個公式并不僅僅適用于地球的情況,進(jìn)一步應(yīng)用你會發(fā)現(xiàn):所有太陽系行星成員(除去水星)的最近鄰居都是水星!怎么樣,是不是非常反直覺。
雖然沒有做推導(dǎo),但CGP Grey視頻內(nèi)的結(jié)論也是一樣的。好的,我們完美解決了這個問題……才怪!
以上的推導(dǎo)是有問題的:

所以,嚴(yán)格來說,我們需要直接對距離進(jìn)行平均,而不是偷懶對距離的平方進(jìn)行平均。這樣我們才能得到準(zhǔn)確的結(jié)論。然而……

這玩意兒沒法積!至少是沒有清晰的解析解的,可以進(jìn)行一定程度的操作,但結(jié)果里面也會包含一個橢圓函數(shù)的積分。
所以,我們只能求助于數(shù)值解法——下面我們進(jìn)入計算機(jī)(編程)課。
【這里選用Python,界面是Jupyter Notebook.】
當(dāng)然,只是做個積分,函數(shù)上也不難判斷是個平滑的曲線,直接用最簡單的牛頓法來積分就行了。

積分的程序就這么幾行。首先我們測試下我們比較容易判斷的情況,第二顆行星軌道半徑(R2)無限接近于0的情況,那么我們應(yīng)該得到的就是到太陽的距離,即一個天文單位。

測試無誤,數(shù)值的誤差看來也很小。繼續(xù)推進(jìn)來研究不同R2情況下,平均距離的結(jié)果吧。先來看個比較大范圍的,0到5個天文單位的情況下:

我們可以清楚地看到,當(dāng)?shù)诙w行星的公轉(zhuǎn)半徑超過地球時,和地球的平均距離幾乎就是在線性增長了。
這也比較好理解,越過地球軌道后,無論兩者在太陽的同一側(cè)還是在互相的對面,最小距離和最大距離都在隨著其公轉(zhuǎn)半徑增大而變大。
有意思的是公轉(zhuǎn)半徑比較小的范圍,我們再放大研究下 0 -- 1.2 A.U. 范圍內(nèi)的情況

這樣來看結(jié)論就很清楚了,在比較小的公轉(zhuǎn)半徑范圍內(nèi),和地球的平均距離依然和公轉(zhuǎn)半徑是單調(diào)遞增關(guān)系。
所以我們通過更嚴(yán)格的分析,也得到了一樣的結(jié)論:
公轉(zhuǎn)軌道半徑越小的行星,其距離地球(或其他任何行星)的距離也越小。
太陽系中所有行星平均距離最近的行星鄰居,皆為 水星!
(驚不驚喜,意不意外~是不是突破了你的直覺呢?是的話請務(wù)必點贊吧~)

完整的視頻講解請看:?

這個小項目里用到的程序,和做好的PPT,可以在我的這個Github地址里下載到:
https://github.com/Pure-Cosmos/closest_planet
有興趣的歡迎下載把玩。
此文也歡迎轉(zhuǎn)載,當(dāng)然請注明出處。