首页 » 父与子的编程之旅:与小卡特一起学Python » 父与子的编程之旅:与小卡特一起学Python全文在线阅读

《父与子的编程之旅:与小卡特一起学Python》24.1 真实世界建模

关灯直达底部

为什么要使用计算机对真实世界仿真或建模,这有很多原因。有时出于时间、距离、危险性或其他一些原因,我们要想具体做试验是不实际的。例如,上一章中我们模拟了扔 100 万次硬币。要是把真正的硬币扔这么多次,我们大多数人都没有那么多时间,不过计算机仿真只需几秒钟就能完成。

有时科学家想知道“如果……会怎么样”。如果小行星撞到月球会怎么样?我们不能让一个真正的小行星撞月球,但是计算机仿真可以告诉我们这会有什么后果。月球会不会扩散到太空?会不会撞到地球?会不会改变它的轨道?

飞行员和宇航员学习开飞机和飞船时,他们不能总在真正的飞机和飞船上练习。这样代价太昂贵了!(另外,如果飞行员只是一名“学员”,你真的愿意做他的乘客吗?)所以他们要使用仿真器,仿真器能提供与真正的飞机或飞船同样的控制,让学员进行实践练习。

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

  • 你可以做试验或者练习某项技能,而不需要任何设备(除了计算机以外),另外也不会给任何人带来危险。

  • 让时间加速或减慢。

  • 同时做多个试验。

  • 尝试一些可能代价很高、很危险或者在真实世界中不可能实现的事情。

我们打算做的第一个仿真与重力有关。我们想让一个飞船在月球上着陆,不过只有定量的燃料,所以使用推进器必须特别当心。这是一个名叫 Lunar Lander(月球着陆器)的经典游戏的简化版本,Lunar Lander 游戏在多年前相当流行。