physics - 如何为太空战做物理学?

标签 physics game-physics elm

我正在尝试做一个基本版本的太空 war (http://en.wikipedia.org/wiki/Spacewar_%28video_game%29),但我不知道如何做惯性部分

那是我的代码: 我应该让船根据它面向的方向加速或减速

模型是船 vx 和 vy 分别是 x 和 y 方向的速度 theta 是旋转度数 20 是让它移动缓慢

 vx=model.vx+(cos (degrees model.theta))/20,
 vy=model.vy+(sin (degrees model.theta))/20

但是好像不太对 有人能帮我吗? 我的物理学很糟糕!

最佳答案

一个非常准确和有效的积分是计算:PosNext = 2 * PosCurrent - PosPrevious + Acceleration*Timestep^2

称为Verlet集成方案。对于速度,您只需通过以下方式更新:VelocityNext = (PosNext-PosCurrent)/TimeStep。

您可以将正弦和余弦与加速度常数一起使用。欧拉正向不是很准确,尽量避免。

关于physics - 如何为太空战做物理学?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34814926/

相关文章:

Python tkinter 弹跳球 - 能量趋于无穷大

unity3d - 在cueBall与unity3d中的任何球碰撞后如何获得方向?

java - 移动速度不同?

byte - Http.get 中的 Elm 字节解码

java - 弹跳后 body 获得额外动力

android - 适用于 Android 的最佳 2d 游戏引擎[物理]

javascript - 放置一个圆,使其不会与任何其他圆发生碰撞

javascript - Elm:从 Browser.element 切换到 Browser.application - JS 方面需要进行哪些更改?

elm - 了解 Elm 中的类型解构

javascript - 如何制作齿轮啮合