![]() |
1
9
你需要这样的东西:
您将从初始条件开始,并在多个时间步上循环。在每一步结束时,你将检查位置和速度。如果地面上的y位置为零或负,你就着陆了。如果速度大于一个临界y值,你将有一个崩溃;低于临界值意味着安全软着陆。 你要用数值方法解牛顿的运动方程。在你的例子中,它是四个耦合的一阶常微分方程:x和y方向的速度变化率和x和y方向的位置变化率。如果你有推进器的话,你会加上另一个燃料质量守恒方程。 如果假设没有x分量,就可以消除两个方程:月球着陆器垂直于表面移动,推力器力在垂直方向上只有一个非零分量。如果这是真的,你可以归结为三个方程。 你要做时间步进,所以阅读积分技术,比如显式欧拉或隐式五阶龙格库塔,会很好。 一个具有挑战性的问题-不是小事。祝你好运。 |
![]() |
2
6
月球着陆器游戏需要的数学非常简单。 Newton's Laws of Motion 你真正需要的就是——拿起一本基本的物理教科书。你应该被安排在第一章之后。系统中只有两个力输入-来自发动机的重力和推力。只需计算垂直;水平分量的运动,并相应地设置你的宇宙飞船的动画。 |
![]() |
3
4
物理学非常简单: http://csep10.phys.utk.edu/astr161/lect/history/newtongrav.html
http://en.wikipedia.org/wiki/Trajectory
. 你甚至可以简化它。如果你不想超精确的话,你可以这样做
|
![]() |
4
1
如果你的游戏是二维的,你不需要太多的数学,你需要物理,特别是基本的牛顿运动。可能是大学预科或高中后期。数学是一些小学代数和高中早期的微积分。
如果你想要更真实的东西,你可以根据离地面的距离来修改重力常数,并且可以增加大气摩擦力(虽然它不是我们的月球)。 如果你的游戏是3D的,你的船除了底部推进器外还有侧推进器,那么你不仅有位置上的运动,还有旋转。这和刚体物理学有关。一个涉及大学微积分的问题。 |
![]() |
5
1
这可能有点过分,但我建议 数值分析方法库 --阅读常微分方程一章。你甚至不需要学习整个章节;只是前几个部分。 |
![]() |
6
0
在二维空间中,每次你想把船的旋转推力加到它的旋转速度上,把它的旋转速度加到它的当前航向上,通过把它的航向的正弦和余弦乘以它的主推进器输出来计算推力矢量,将该矢量和重力矢量(某个量级的直线向下矢量)加到它的流速上,再把它的流速加到它的位置上。如果计时器的滴答声足够小,除了检查飞船是否与地面接触之外,你所要做的就差不多了。尝试你的推力和重力值的大小,直到你有一个可玩的游戏。 |
![]() |
fghjk · 绘制轨迹(python) 7 年前 |
![]() |
datapanda · 三维网格的莫顿反向编码 7 年前 |
![]() |
Bikash · 在Mathematica中绘制量子谐振子 7 年前 |
![]() |
Kinaeh · Java-物理计算的数据类型是什么? 7 年前 |
![]() |
mallwright · btMultiBody中的关节抽搐 7 年前 |
|
user7884512 · 确定目标距离处的最终速度 7 年前 |