月球着陆器游戏需要什么数学?

ohh*_*hho 12 iphone physics cocos2d-iphone

我想建立一个游戏来学习cocos2d.Lunar lander是我脑海中的第一个练习.任何指针/源代码/所需的物理计算教程将不胜感激.谢谢!

duf*_*ymo 9

你需要这样的东西:

  1. 牛顿的二维运动定律.
  2. 能够改变重力的影响.9.8 m/s ^ 2是地球上正确的加速度,但你应该能够将其改为火星,月球,木星等的适当值.
  3. 能够关闭和打开推进器以抵消重力的影响.如果你不这样做,那不是一个非常有趣的游戏,因为每个游戏都以崩溃告终.
  4. 将推进器火灾持续时间与燃料消耗联系起来的方法.如果你没有很好地管理燃料,你会崩溃.
  5. 初始条件(例如,高于地面的高度,初始速度,初始燃料等)

您将从初始条件开始并循环执行多个时间步骤.在每个步骤结束时,您将检查位置和速度.如果表面上方的y位置为零或负值,则会降落.如果速度大于临界y值,你就会崩溃; 小于临界值意味着安全,软着陆.

你将用数字解决牛顿运动方程.在你的情况下,它是四个耦合的一阶常微分方程:x方向和y方向的速度变化率和x方向和y方向的位置变化率.如果你有推进器,你将添加另一个方程式来保护燃料的质量.

如果假设没有x分量,则可以消除两个方程:月球着陆器垂直于表面移动,推进力仅在垂直方向上具有非零分量.如果这是真的,那么你可以得到三个方程式.

你会做时间步,所以读取集成技术,如显式Euler或隐式5阶Runge-Kutta会很好.

一个具有挑战性的问题 - 并非无足轻重.祝好运.


Car*_*rum 6

月球着陆器游戏所需的数学计算非常简单.牛顿运动定律就是你真正需要的 - 只需拿起一本基本的物理教科书.你应该在第一章之后设置.系统中只有两个力输入 - 来自发动机的重力和推力.只需计算运动的垂直和水平分量,并相应地为您的太空船制作动画.