如何在飛機上推算什麼時候能看到日出?

例如上個月我坐飛機從伊斯坦布爾飛往上海,當地時間00:30起飛, 當地時間 16:00降落。雖然我可以查詢到任何一個城市地面觀測的日出時間,但是還是很難推算起飛後多久能夠看到日出。

還有一次是奧蘭多飛往法蘭克福,同樣是凌晨飛下午到。但是飛機在大西洋上空,城市都沒有了。

不知道有沒有人有過類似的想法?


謝邀~抱歉拖了這麼久才來答題...

首先我非常遺憾地給出我的結論:沒有簡單易行的辦法「推算」飛行過程中看見日出的時刻。

上面@Unix Hater給出了一個簡單的辦法,但是這個辦法只有在緯度很低的地區,或者在春分秋分前後,誤差才比較小,在一般情況下,誤差是非常大的,以至於很難滿足題主的要求。

那麼,如果要解決這個問題,有什麼困難呢?

首先,地球赤道平面和地球公轉軌道平面並不平行,造成了太陽直射點在一年中是不斷變化的(這也是為什麼地球上有四季的原因),在北半球的夏季,太陽直射點是在赤道以北的,夏至日可以照到北回歸線(約北緯23.5度);同樣的,冬季太陽直射點在赤道以南,冬至日可以照到南回歸線(南緯23.5度)。

太陽直射點能夠在如此大的範圍內變動,即使不坐飛機,相信大家也都體會過夏天日出早,冬天日出晚的現象。在一個固定地點的日出時間尚且能有幾個小時的差別,更別說飛機上了。

第二,前面說的因素,在不同緯度的地區是不同的,越往北,這種差異就越明顯。在赤道上,日出時間就幾乎沒有變動,而在北京這種緯度(北緯40度),日出時間的變動就能達到3小時,更別說緯度更高的地區了。

然而很不幸的,題主乘坐的伊斯坦布爾到上海的航班,甚至會經過北緯45度的地區([3]),這大大增加了推算的不確定性。而這個因素,是和出發地、目的地的位置有關的,不同航線之間也沒有可比性。

第三,飛機的航線軌跡是不容易準確知道的。雖然長途航班大致上都沿著大圓航線(參見[1], [2])飛行,但是有各種原因(利用高空氣流啦,禁飛區啦,避開危險天氣啦等等),航線常常發生變化,甚至同一航班來回的線路都不一樣,這也給推算帶來了困難。

但是!作為一名技術宅,怎麼可能被這種問題難住!如果硬要算的話,當然也是能算的,考慮太陽與地球的相對位置,考慮出發地和目的地經緯度,考慮航線軌跡(我就簡單按照大圓航線計算了)。具體過程嘛……實在是複雜到我都不想複述一遍。各種三角函數,球面幾何,線性代數……雖然過程中我玩的津津有味不過現在把過程貼出來實在倒人胃口。

貼個結果吧~

==================== Update 13-11-07 ===============================

昨晚半睡半醒寫的答案,看錯數字了,誤以為飛機是3:00從伊斯坦布爾出發的,所以原圖有誤,現更正過來

================================================================

首先假設題主在春分秋分前後乘坐飛機從伊斯坦布爾到上海,當地時間凌晨3點出發。我假設飛機的飛行時間是10小時(實際大概要長一點,畢竟不是嚴格按照大圓航線來飛行的,@Unix Hater 的答案中取的是 10h 16min,這不造成本質影響)。那麼我們來看看會有什麼情況。上圖!

上面黑色線是晝夜分界線,左半邊是黑夜半球,右半邊是白晝半球。藍色線是從伊斯坦布爾到上海的大圓航線,上面有個藍點就是飛機的位置啦~

從這個圖上可以看到,大約起飛3.3小時候就能看到日出了。當然,由於飛機一般都飛在萬米高空,實際看到日出的時間會更早一點。因為是春分秋分,所以晝夜分界線正好是評分所有緯線圈的,緯度的影響並不大。並且可以看到,這個結果和@Unix Hater近似估計的結果(他也更新了答案)是一致的。

但是如果是夏至日呢?這個時候北半球白晝最長,我們來看看會有怎樣的影響

很明顯,看見日出的時間大大提前了,起飛後2.25小時就能看到日出。

那麼反過來,冬至日的時候呢?繼續上圖!

其實猜也能猜到啦,看見日出的時間大大延遲了,大約起飛後4.5小時才能看見日出呢!

最後總結一下吧~

1. 一年中不同時間起飛,看到的日出時間是大大不一樣的,如上面的例子,日出時間最多可以相差2.25小時;

2. 不同的航線,不同的出發和到達,看到日出的時間也是大大不一樣的;

3. 春分秋分前後,或者緯度很低的航線,可以用近似公式來進行估計,但是對緯度稍高的航線或者冬至夏至日前後,則誤差非常大;

4. 當然可以把一切已知條件,包括日期,出發地目的地經緯度,飛行高度,飛行軌跡,等等全都輸入電腦,用一個簡單的小程序是可以算出來的;

5. 綜上所述,我認為沒有簡單的推算辦法。

[1] Great circle

[2] Great-circle navigation

[3] istanbul to shanghai flight


感謝題主提的好問題,思考過程很有趣。

ios上有款應用叫世界時鐘,不知題主用不用?

這是時鐘界面,隨著向左和向右的手勢,時間可以向前和向後,晨昏線會隨之移動。利用這款軟體,可以簡單地做個估算。

step1:

知道起始地點和到達地點和大致航線,然後沿航線做曲線,根據總航行時間大致將曲線標上刻度。刻度意義為X小時後飛機所在位置。此部分在腦海中完成,用上毛線和直尺更好。圖中黑線為我假設的航線。

step2:

將時間向前調,晨昏線左移(即圖中橙黃色的線),時鐘會顯示向前調了多少時間。當晨昏線與航線交點的航線坐標時間與時鐘前調時間相等時,即為距離日出的時間。此圖中的日出時間大概在出發後2.5小時。

使用這個軟體完全校準了經度,緯度,日期這三個變數。

但是航線和飛行速度還是沒有什麼辦法。在知道航線的情況下,此法應該還是算得方便快捷的。

我其實一直想說,為什麼不能直接問空姐呢?人家不知飛了多少次了。。。又多了一個跟漂亮姐姐搭話的理由!&>_&<


鑒於你說「推算」,也就是說你只是想知道什麼大概時候日出,由於大部分時候低緯度的城市的日出時間差不多(相差一個小時以內),先假設它們都一樣吧,你可以這麼推算:

Delta t=frac{T_{Sunrise}-T_{Start}}{1pm{Delta tz/Delta t_{flight}}}

其中T_{Start}是你出發的當地時間,T_{Sunrise}是日出的當地時間(現在假設和地點無關),Delta tz是你出發和達到地點的時區差的絕對值,Delta t_{flight}為你航班的時長 ,單位為小時。如果你向東飛,取正號; 向西飛,取負號。

伊斯坦布爾是+2區,上海是+8區,時區差為6。我查了一下航班時間為10h16min。 假設日出當地時間為早上6:30, 那麼可以得到Delta tapprox 3.75h也就是說你坐上飛機三個半小時左右看到日出。

-------------------

這個公式是怎麼來的?為什麼和整個航程的飛行時間有關?

如果T_{Sunrise}和地點相關怎麼處理?

-------------------

1. 一個航班的到達當地時間是這麼計算的:

T_{End}=T_{Start}+(Delta t_{flight}pmDelta tz)

T_{End}是你到達的當地時間,其他項和上面一樣。時區差是考慮當你出發的時候到達地的本地世間,加上航班時間Delta t_{flight}就算出當地到達時間了。

例如,從芝加哥(-6)到北京(+8), 時區差為 -6-(+8)+24=10, 飛行時間14小時,向西飛,所以T_{End}=T_{Start}+4h。當然由於飛越日期線,還要加一天,但對時間沒有影響。

2. 所以在我們的旅程中,如果我們到達某地的時候日出,那麼t_{End}=t_{Sunrise},飛行到這個地方的時間就是

Delta t=frac{T_{Sunrise}-T_{Start}}{1pm{Delta tz

這裡的Delta tz是日出地點和出發地的時區差。假設飛機勻速飛行,那麼就有

Delta tz ,也就是說飛機固定時間內飛過的時區數是固定的。代入就得到上面那條公式。

3. 如果T_{sunrise}和地點相關,也就是這個時間依賴於Delta tz,這時候有

Delta t=frac{T_{sunrise}(Delta tz

這時候你無法同時確定時間Delta tDelta tz,因為有兩個相關的變數。這時候先確定Delta tz會更好一點。由於飛機一直是勻速的,所以Delta t = Delta tz是一直成立的,代入得到

frac{Delta t_{flight}}{Delta tz}pm 1=frac{T_{Sunrise}(Delta tz

左邊是確定的常數,現在只有一個未知數了。所以,你需要確定這麼一個時區,它和你出發地方的時區差Delta tz和相應的T_{Sunrise}(Delta tz滿足上面關係。找到這個時區就可以找到對應的時間Delta t了。

4.如果是高緯度城市,那真沒有什麼意義了,因為你都有可能在凌晨線上飛,也就一直看到日出……

5.日出時間的公式

T_{sunrise}=6:00-frac{1}{2}(frac{1}{2}-frac{arccos(	anphi 	an	heta)}{pi})	imes 24=frac{12}{pi}arccos(	anphi 	an	heta)

其中phi是所在城市的緯度,範圍是[-pi/2,pi/2], 	heta是太陽當日的緯度。arccos的取值範圍為[0,pi]或者無窮(當括弧內大於1的時候,極晝或者極夜)。

日落時間:

T_{sunrise}=18:00+frac{1}{2}(frac{1}{2}-frac{arccos(	anphi 	an	heta)}{pi})	imes 24=24:00-frac{12}{pi}arccos(	anphi 	an	heta)

從廣州到北京基本就是同一個經度的不同緯度的飛行。假如夏至日,	heta =23.3^circ, phi_b=39.9^circ, phi_g=23.1^circ

從而 日出時間T_b=4.57=4:36am,  T_g=5.28=5:17am

----------------------------


我喜歡把問題想得簡單。飛機上看日出想必是遠程航班。不妨可以作一坐標軸,橫軸為航線上的幾個地點,豎軸為某一標準時間(如北京時間)。那麼你可以把橫軸上所取地點的日出時刻在坐標上標記出來,連成線1。然後,再把飛機到達橫軸所取地點的時刻標記出來,連成線2。線1線2.相交點所對應時間即為所求。


算時間不會,但是想要在飛機上看日出日落的,很簡單啊。

第一, 確定自己要去的地方和時間, 舉例,昆明到北京。飛行時間3個小時。(我只是舉例啊)

第二,查詢下西安的日出時間(大約在航線中間,不用那麼精確的)。假設就7點。

第三,時間安排略早一點,因為高空的日出時間比地面早。所以購買5點起飛的機票。

最後,因為是從南往北飛,所以值機的時候選擇右邊靠窗的座位。

就這樣啊~ 為什麼搞得那麼複雜~ 日出就那麼一瞬間, 而飛機要在空中待那麼久啊~ 時間的寬容度很高的。 什麼看日出看日落的,最有愛了&>_&<


感謝 @Unix Hater @章佳傑 的回答,一早醒來看到兩位這麼詳細的答案真是讓我淚流滿面。

我簡單說下我自己的想法。首先同一緯度上,任何一點的日出時間都認為是一樣的。這個時間可以通過查詢該緯度上某城市的日出時間得到 (誤差一,誤差二)

case 1. 飛機在同緯度飛行。那應該就是飛機和太陽的一個相遇問題(向東)/追逐問題(向西)

我沒能力寫出很明確的式子(感謝@Unix Hater ),但伊斯坦布爾到北京的航班我確實可以算一下.

Turkish Airline TK20 00:50 - 16:05, 飛行時間 9小時15分鐘(誤差三)。假設飛機一直在北緯40度緯線上飛(誤差四)

飛機向東飛,從ist到pek需要9.25小時,太陽向西飛,從pek到ist需要6小時。

10月11日北京日出時間為6:20分(+8),飛機在00:50分(+2)出發,半小時以前太陽在北京日出,飛機和太陽相遇的時刻就是飛機上看到日出的時刻。
(1- 0.5/6) / (1/9.25 + 1/6)= 3.33
所以飛機出發以後3小時20分鐘以後可以看到日出。

12月26日北京日出時間為7:35(+8),飛機00:50(+2)起飛,45分鐘以後北京日出。飛機和太陽相遇的時刻就是飛機上看到日出的時刻。
0.75+ (1-0.75/9.25)/ (1/9.25 + 1/6) = 4.1
所以飛機出發後4小時6分鐘以後大概能看到日出

以上結果都和 @Unix Hater 的美觀的式子結果一樣。

誤差一 萬米高空的日出時間肯定比地面的日出時間要早

誤差二 城市所在經度與所在時區的經度

誤差三 飛行時間,起飛時間都應該要取平穩飛行的時間。起飛降落的階段飛不了多遠吧。

誤差四 即使出發到達都在同一維度,航線也不一定是一直在該緯度的 (as @章佳傑 所言)。這似乎是這個演算法未必靠譜的最大問題。
--------------------

case2 飛機往正北正南飛,飛機飛行過程中緯度在變化,所在地的日出時間一直在變。應該就是一個方程(當然case1也可以這樣)

sunrise time(travel time) = local time (travel time)

如果在同一條經線上飛,那麼local time(travel time) = start time + travel time

sunrise time (travel time)就複雜了。需要通過 sunrise time (longitude) 和 longitude (travel time)兩個函數決定

sunrise time 與 longitude 的關係可以查詢獲得,但是連續的函數是線性的還是更加複雜?@章佳傑 你可知道?

longitude 與 travel time 的關係就和航線有關了。不過就當做延經線速度恆定,那就是線性關係了。

這個有點難舉例了

----------

case3 任意情況,一樣用方程
sunrise time(travel time) = local time (travel time)

不過等式左面要用延經線的速度,複雜度如同case2

等式右面要用延緯線的速度,複雜度如同case1。@Unix Hater 給出了很精彩的式子。

-----------------

打了一遍字,思路清楚了很多。雖然未必解決了問題,但是我很享受思考的過程


我8月從重慶飛往石家莊的時候看過一次日出,場面非常壯觀,難以忘懷。

那麼我是如何看到日出的呢?這個我得感謝航空公司、江北機場、以及當天石家莊的天氣了,晚點六個小時讓我半夜11點半的飛機推遲到了早上5點半,於是我看到了人生中遇到的最壯觀的一次日出!我真的還想再看一次!


同意@布小麥 的答案,雖然不夠精確,但是相當簡潔直觀。

布小麥:如何在飛機上推算什麼時候能看到日出?

該答案的精髓是:只要找到 航跡-時間曲線 日出推移線-時間曲線 的交點就能解決問題。(名字是我瞎起的)鑒於布小麥同學的答案是一段文字化的表述,憑空想起來有點費勁。我來幫忙給配個圖。

以原題為例。

題干:伊斯坦布爾(東經28°)→上海(東經121°),土耳其時間00:30起飛, 土耳其時間8:00降落,問在哪個時間點可以看到日出。

日期題乾沒說,就假設在明天好了:2017.07.30。

根據航跡圖(見注),結合谷歌地圖...中間大概經過的地區有:喬治亞第比利斯、哈薩克阿克套、哈薩克阿拉爾斯克、哈薩克巴爾喀什、烏魯木齊、包頭。

解答:

①畫出伊斯坦布爾到上海的粗略航跡-時間曲線(紅線)

②2017.07.30

查土耳其伊斯坦布爾的日出時間:04:59(時間校準網);

查喬治亞第比利斯(東經44°/東四區)的日出時間(統一為土耳其時間):04:57-2=02:57

查哈薩克阿克套(東經50°/東五區)的日出時間:05:25-3=02:25

查哈薩克阿拉爾斯克(東經65°/東六區)的日出時間:約05:00-4=01:00

查哈薩克巴爾喀什(東經75°/東六區)的日出時間:約04:37-4=00:37

查烏魯木齊(東經86°/東八區)的日出時間:...已經不需要了

查包頭(東經112°/.東八區)的日出時間:...已經不需要了

畫出以土耳其時間為基準的日出推移線-時間曲線(藍線)

結論:在2017年7月30日的航班上,大約在土耳其時間2:10,經過哈薩克的阿克套地區不久(左右)後看到日出。

但是考慮到有飛機起降、航跡不是直線、飛行高度等導致偏倚的因素,日出推移線-時間曲線(紅線)顯得精度很差。(但也不是不能修正)

不過至少掌握了一個時間和地點的大致區間是不是...

註:

①查飛行航跡: 航班實時跟蹤網

②世界時區圖:世界時區圖

③查城市日出時間:時間校準網 中國天氣網


UA858 12:10 上海起飛
北京時間 21:30 拍到日出


有那麼一種表格是可以根據經緯度算日出的,不難,飛行員學飛時都會接觸到


其實現在很多航空公司個人PTV上的航圖自帶晝夜分界線顯示,看飛行地圖就知道飛機離白天有多遠了。


下載aeroweather,上面有各個機場的日出日落時刻


推薦閱讀:

俄羅斯MC-21和中國C919相比有什麼優劣?
殲20鴨翼的作用?
飛機航行過程中,什麼情況才算是真正的危險?
中國飛機墜毀,駕駛員為什麼都會選擇犧牲呢?
如何看待7月7日加航航班險些誤降滑行道事件?

TAG:飛機 | 地理 | 物理學 | 日出 | 估算時間 |