二维宇宙飞船运动数学

2024-03-22

我正在尝试制作一款自上而下的太空飞船游戏,我希望动作更加真实。 360度,有惯性、重力等。

我的问题是我可以毫无问题地让船以惯性移动 360°,但我需要做的是限制发动机的运行速度,同时不限制其他推/拉船的力。

因此,如果发动机速度最大为 500,并且船舶从重力井处以 1000 的速度行驶,则当发动机打开时,船舶不会达到 1500,但如果指向远离正在行驶的角度,那么它可能会减慢向下。

为了它的价值,我正在使用构造 http://www.scirra.com,而我所需要的只是它的数学。

感谢您的帮助,我因为试图解决这个问题而变得秃头。


取一页来自相关物理学 http://en.wikipedia.org/wiki/Special_relativity,其中对象不能超过光速 http://en.wikipedia.org/wiki/Speed_of_light#Upper_limit_on_speeds:

(请参阅下面我的工作 C++ 代码片段和运行演示 http://www.leftium.com/asteroid/[仅限 Windows]。)

  1. 将常数 c 设置为物体可以达到的最大速度(游戏中的“光速”)。
  2. 如果施加力会增加speed物体的加速度(速度变化)除以洛伦兹因子。if 条件在狭义相对论中并不现实,但它使飞船在高速行驶时更加“可控”。
  3. 更新:通常情况下,当船舶以接近 c 的速度行驶时,将很难操纵,因为改变方向需要将速度推过 c 的加速度(洛伦兹因子最终会将新方向上的加速度缩放到几乎为零。)为了恢复可操纵性,使用没有洛伦兹缩放时速度矢量的方向和缩放后的速度矢量的大小。

解释:

Definition of Lorentz factor, where v is velocity and c is the speed of light: gamma = 1 / sqrt(1 - v^2 / c^2)

这是可行的,因为洛伦兹因子随着速度的增加而接近无穷大。物体需要施加无穷大的力才能穿过光速。在较低速度下,洛伦兹因子非常接近 1,接近经典牛顿物理学。

洛伦兹因子随速度增加的图表:

注意:我之前尝试通过使用摩擦力设置来解决小行星游戏中的类似问题。我在读到你的问题时才想出了这个解决方案^^

更新:我尝试实现这一点,发现一个潜在的缺陷:当接近光速 c 时,所有方向的加速度都受到限制,包括减速! (违反直觉,但是现实世界中狭义相对论会发生这种情况吗?)我想可以修改该算法以考虑速度和力矢量的方向...该算法已被修改以考虑矢量的方向,因此船舶在高速行驶时不会“失去可控性”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二维宇宙飞船运动数学 的相关文章

  • 如何使用NSDecimalNumber?

    我正在构建一个需要对金钱进行计算的应用程序 我想知道如何正确使用 NSDecimalNumber 特别是如何从整数 浮点数和双精度数初始化它 我只发现它很容易使用 decimalNumberWithString 方法 这 initWith
  • Java 中的数学方程如何工作?

    当我做这样的事情时 int test 5 3 4 1 2 我得到 9 我怀疑这是因为 int 向下舍入 但是 当我这样做时 float test 5 3 4 1 2 我也得到 9 但是 当我这样做时 float test1 5 float
  • 几何:找到两点之间特定距离的点

    这类似于这个问题 https stackoverflow com questions 328107 how can you determine a point is between two other points on a line se
  • 如何将时间间隔划分为不同长度的部分?

    我有一个从 0 到t 我想把这个区间分成一个以2 25 2 25 1 5为周期的累积序列 方法如下 input start 0 stop 19 output sequence 0 2 25 4 5 6 8 25 10 5 12 14 25
  • 轮廓积分算法 C++

    我正在尝试编写一个应用数学程序来计算复平面中的轮廓积分 对于初学者来说 我想为梯形方法编写一个算法 但我有点坚持理解它会是什么样子 毕竟 我们通常将梯形方法视为 2D 图 而这里我们有 f C gt C 所以我们谈论的是 4D 最终我希望用
  • 如何在编程中表示sqrt(-1)?

    我想代表sqrt 1 在C 中 因为我正在尝试实现FFT算法 有没有好的方法来表示这一点 我猜你正在寻找 include
  • 飞船推进AI:控制飞船在x=0、v=0时着陆的力

    我必须编写 AI 代码来控制游戏中宇宙飞船的许多推进喷气机 为简单起见 令空间为一维 宇宙飞船是一个点 只有 1 架喷气机 规则与问题 Let x v and a是飞船的位置 速度 加速度 Let F是施加在船上的喷射力 我知道质量m宇宙飞
  • 求从1到N的所有数字的数字之和[重复]

    这个问题在这里已经有答案了 问题 求1到N 包括两端 所有数字的数字之和 时间复杂度应该是 O logN 对于 N 10 总和为 1 2 3 4 5 6 7 8 9 1 0 46 对于 N 11 总和为 1 2 3 4 5 6 7 8 9
  • 可被 N 整除的最小正数

    1 如何找到能被N整除的最小正数 并且它的各位数字和应该等于N 例如 N 结果 1 1 10 190 并且算法时间不应超过 2 秒 有什么想法 伪代码 pascal c 或 java 吗 设 f len sum mod 为 bool 这意味
  • 如何计算某物是否位于某人的视野中

    我有一个对象 它在 2D 空间中具有位置和速度 两者都由向量表示 对象的视野每侧均为 135 度 它看起来与移动的方向相同 速度矢量 我有一些对象 其在 2D 空间中的位置由向量表示 在图中 蓝色背景上的对象是可见的 红色背景上的对象对主体
  • 有没有办法根据值是大于 0.5 还是小于 0.5 来进行下限/上限?

    我正在尝试舍入我的价值观 以便如果它是0 5或更大 则变为1 否则就变成0 例如 3 7 gt 4 1 3 gt 1 2 5 gt 3 有任何想法吗 Math Round 3 7 MidpointRounding AwayFromZero
  • 最小对的总和

    Given 2N点 in a 2D plane 你必须将它们分组为N pairs使得所有对的点之间的距离的总和是最小可能值 所需的输出只是总和 换句话说 如果a1 a2 an分别是第一对 第二对 和第 n 对点之间的距离 则 a1 a2 a
  • 使用矩阵代数来操作字符串:可行吗?

    我正在尝试使用矩阵代数来操作字符串 这意味着能够使用字符串或字符串数 组的串联和粘贴来实现多个类似矩阵的结构 我之前尝试在 R 上实现这个东西 但这是不可能的 因为矩阵只能有一维条目 我希望足够的与语言无关和抽象 但为了清楚起见 我将使用类
  • Excel - 确定排列的奇偶性

    我正在处理一个 Excel 工作表 需要确定大小数字的垂直数组的奇偶校验N 该数组包含来自的每个数字1 to N每一次正好一次 在这种情况下 奇偶校验被定义为将加扰数组转换为从小到大排序的数组所需的交换次数 例如 数组 3 1 2 4 具有
  • C# 中的反转数

    有没有一种简单的方法可以用函数反转 C 中的数字 我正在使用 XNA 我想告诉我的程序 如果我的 变量 超过某个数字 它必须反转它的值 重点是提供反弹效果 if ballPosition X gt screenWidth Invert th
  • 如何求两个地点的经纬度距离?

    我有一组位置的纬度和经度 怎么找distance从集合中的一个位置到另一个位置 有公式吗 半正矢公式假定地球是球形的 然而 地球的形状更为复杂 扁球体模型会给出更好的结果 如果需要这样的精度 你应该更好地使用文森特逆公式 See http
  • 用于评估数组单调性的算法(即判断数组的“排序性”)

    EDIT 哇 很多很棒的回复 是的 我使用它作为适应度函数来判断遗传算法执行的排序的质量 因此 评估成本很重要 即 它必须是快速的 最好是O n 作为我正在使用的人工智能应用程序的一部分 我希望能够根据候选整数数组的单调性 也称为 排序性
  • Unity 2d跳跃脚本

    有人有一个很好的统一 2d 游戏跳跃脚本吗 我的代码可以工作 但距离跳跃还很远 看起来像是在飞 using UnityEngine using System Collections public class movingplayer Mon
  • 占据花车的地板

    我发现了两种在 Python 中占据发言权的方法 3 1415 1 and import math math floor 3 1415 第一种方法的问题是它返回一个浮点数 即3 0 第二种方法感觉很笨拙而且太长 在 Python 中是否有替
  • 我在哪里可以学习游戏物理及其背后的数学基础知识? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我在大学学过数学 三角学 微积分 II 但我不知道为什么在游戏物理中使用 tan arctan 等 我

随机推荐