讀古今文學網 > 父與子的編程之旅:與小卡特一起學Python > 24.1 真實世界建模 >

24.1 真實世界建模

為什麼要使用計算機對真實世界仿真或建模,這有很多原因。有時出於時間、距離、危險性或其他一些原因,我們要想具體做試驗是不實際的。例如,上一章中我們模擬了扔 100 萬次硬幣。要是把真正的硬幣扔這麼多次,我們大多數人都沒有那麼多時間,不過計算機仿真只需幾秒鐘就能完成。

有時科學家想知道「如果……會怎麼樣」。如果小行星撞到月球會怎麼樣?我們不能讓一個真正的小行星撞月球,但是計算機仿真可以告訴我們這會有什麼後果。月球會不會擴散到太空?會不會撞到地球?會不會改變它的軌道?

飛行員和宇航員學習開飛機和飛船時,他們不能總在真正的飛機和飛船上練習。這樣代價太昂貴了!(另外,如果飛行員只是一名「學員」,你真的願意做他的乘客嗎?)所以他們要使用仿真器,仿真器能提供與真正的飛機或飛船同樣的控制,讓學員進行實踐練習。

通過仿真,你可以做很多事情。

  • 你可以做試驗或者練習某項技能,而不需要任何設備(除了計算機以外),另外也不會給任何人帶來危險。

  • 讓時間加速或減慢。

  • 同時做多個試驗。

  • 嘗試一些可能代價很高、很危險或者在真實世界中不可能實現的事情。

我們打算做的第一個仿真與重力有關。我們想讓一個飛船在月球上著陸,不過只有定量的燃料,所以使用推進器必須特別當心。這是一個名叫 Lunar Lander(月球著陸器)的經典遊戲的簡化版本,Lunar Lander 遊戲在多年前相當流行。