问题标签 [physics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2209 浏览

physics - 将自定义物理课程与 OGRE 3D 集成?

我必须将 OGRE3D 用于大学项目,但是,我们不允许使用任何第三方库进行物理或碰撞检测。这包括使用 OGRE 的内置碰撞检测。

我在将我自己的自定义物理例程添加到 OGRE 的内置实体的正确方法上遇到了一些困难。

OGRE 使用“实体”对象作为最基本的构建块,对于物理,您需要对象具有质量、速度等属性。

我感到困惑的是,OGRE 的渲染/逻辑循环似乎隐藏在 OGRE 引擎内部的用户之外。这是一个问题,因为我需要能够获取 OGRE 中的每个实体,并使用我正在构建的自定义物理引擎执行碰撞检测和物理计算。

如何将我自己的物理/碰撞引擎类与 OGRE 集成?

更新:根据以下建议,我将 OGRE::Entity 子类化,即:

评论指出这不是符合 OO 的最佳方式,我同意但是我在这个阶段看不到更好的方式吗?你有什么想法,你有什么更好的想法,因为我对这样做并不完全满意。

0 投票
2 回答
3723 浏览

physics - 检测网格和球体之间的碰撞点?

我正在使用OgreMOC编写物理模拟。

我有一个球体,我从相机的位置拍摄,它通过使用相机的前向矢量沿相机面对的方向行进。

我想知道如何检测我的球体和另一个网格之间的碰撞点。

如何使用 MOC 或 OGRE 检查两个网格之间的碰撞点?

更新:应该在前面提到这一点。我无法使用第 3 方物理库,因为我需要自己开发它(uni 项目)。

0 投票
1 回答
109 浏览

animation - 更改动画实体的播放速度

我有一个实体,它播放在我的世界中快速运行的动画s = 1。现在从我的世界中的特定时间间隔开始,动画可能会变慢,这意味着它以以下速度播放s0 < s < 1.

此时间间隔由 starttimeta和 endtime定义tb

因此,如果我的世界中的时间达到ta,动画的速度会降低,使其播放速度变慢(就像慢动作效果一样),而其他一切都保持正常速度。

现在在这个区间 ta 和tb的某个地方,动画停止播放慢而播放快s > 1,所以当时间到达时tb,它会赶上世界其他地方。

我现在的问题是,减速后的速度有多快,才能使动画准确地赶上?鉴于 :

  1. 时间间隔tatb
  2. 达到动画速度的速度因子ta
  3. ta和之间的时间tb,当慢效停止和快效应该开始时。

我希望这个问题是可以理解的,如果没有,请告诉我。举个例子,请想象一台机器以弧线投球,然后以恒定的速度沿着地板移动并接住球。我现在的情况是,它首先以较慢的速度移动,但是在一定时间之后,它必须增加它的速度才能接住球。那速度是多少?

0 投票
1 回答
4793 浏览

iphone - iPhone/iPod touch CPU/GPU 性能

iPhone 或 iPod touch 可以提供多少 bogomips(或任何其他相关单位)?

大型应用程序中的性能(如在普通 PC 上)是否更多地受限于缓存抖动而不是 CPU 指令的数量?还是有其他限制?

对于普通 iPod touch(即不是 iPhone 3GS)中的一流游戏,推荐的总预算是多少?

iPod touch 中的 ARM-11 和 iPhone 中的三星 ARM 是否具有与普通 PC 相同性能的 FPU,缩放到核心时钟频率?

我问的原因是我想用物理引擎移植游戏(我正在使用ODE)。如果您知道我应该注意的其他任何事情,请不要犹豫提及!

0 投票
7 回答
3689 浏览

math - 对推力从当前速度矢量到目标矢量的平滑变化进行编程

TL;博士:“我不确定如何计算一个向量与另一个向量之间的推力平滑过渡。”

我正在编写一个简单的游戏,其中敌人在开放空间(没有墙壁)中追逐玩家。我正在独立计算敌人的 x 和 y 速度,如果他们将他们带向玩家的方向,则加速他们,如果他们走错路,则迅速减慢他们(例如 EnemyVelocity.x > 0 & player.x <enemy.x ,然后是 EnemyVelocity.x - 2。)

虽然试图躲避敌人的游戏玩法相当有趣,但我希望让敌人使用适当的物理行为。我目前正在做的是让敌人根据他们与玩家之间的角度设置他们的推力(想想一艘宇宙飞船),并让他们的推力加速到最大速度(计算 EnemyVelocity 三角形的边 c)。一旦发生这种情况,我不确定让推力自行调整的最佳方法。如果我没有留下最大速度,敌人会很好地加速但很容易超过玩家,然后需要很长时间才能获得足够的动力返回玩家的方向。

我想要发生的是让敌人在前往玩家的路上不断调整他们的速度,瞄准他们在哪里(我不希望他们预测你会在哪里)。然后,当他们错过玩家时,我希望使用相同的推力和加速度公式来重新调整他们的速度并将它们送回玩家。

我认为这将涉及两个向量:一个是敌人当前正在旅行的地方,另一个是敌人想要旅行的地方(将他们直接带到玩家的向量)。我不确定如何计算一个向量和另一个向量之间的推力平滑过渡。

任何提示、公式或问题将不胜感激!谢谢堆栈溢出。

0 投票
3 回答
10913 浏览

3d - XNA 3d 物理引擎

我正在寻找 XNA 的 3D 物理引擎。我听说过一些选择,但我需要的是:

  • 免费用于商业目的(首选开源)
  • 支持刚体动力学
  • 支持每个多边形碰撞(这非常重要)
  • 托管代码 - 必须在 XBOX360 上工作

你用过这样的东西吗?你能推荐一些东西吗?

0 投票
4 回答
229 浏览

algorithm - Bumptop - 与物理有什么关系

除了所有关于美妙的Bumptop桌面环境的讨论外,我现在也收到了这个问题。物理和 Bumptop 技术有什么关系。基本上,我有兴趣学习在这个桌面环境中遵循的技术/算法。例如,

  1. 碰撞检测——当一个图标即将与另一个图标发生碰撞时使用。

还有其他已知的技术吗?

0 投票
5 回答
101140 浏览

math - 进行信号频谱分析时的傅立叶变换 (FFT) 单位

我的问题与对信号进行频谱分析或将信号放入 FFT 并使用合适的数值包解释结果的物理意义有关,

具体来说:

  • 取一个信号,比如一个随时间变化的电压 v(t)
  • 把它扔进一个 FFT(你得到一个复数序列)
  • 现在取模数 (abs) 并将结果平方,即 |fft(v)|^2。

所以你现在在 y 轴上有实数——我应该把这些称为频谱系数吗?

  • 使用采样分辨率,您可以按照食谱将频谱系数与频率相关联。
  • 此时,您有一个频谱 g(w),频率在 x 轴上,但是 y 轴上的物理单位是什么?

我的理解是,这个频谱显示了电压信号中存在多少各种频率——它们是频谱系数,因为它们是重构原始信号所需的各种频率的正弦和余弦系数。

所以第一个问题是,这些频谱系数的单位是什么?

这很重要的原因是频谱系数可能很小而且很大,所以我想使用 dB 标度来表示它们。

但要做到这一点,我必须做出选择:

  • 要么我使用 20log10 dB 转换,对应于现场测量,如电压。
  • 或者我使用 10log10 dB 转换,对应于能量测量,如功率。

我使用哪种缩放取决于单位是什么。

对此的任何启示将不胜感激!

0 投票
5 回答
3702 浏览

c# - C# - 三角函数代码解释(物理)

这段代码取自使用 XNA 框架构建的游戏。我想从三角和物理方面解释它是如何工作的。

ball.velocity = new Vector2((float)Math.Cos(cannon.rotation), (float)Math.Sin(cannon.rotation));

ball.rotation 是我应该想到的精灵的旋转,弧度。

为什么他们只能使用弧度角来找到 x 位置,然后用同样的方法来找到斜边指向的方向的 y 位置。

我问这个的原因。我想了解一下这个框架如何进行三角计算。我试图让精灵转向鼠标所在的方向,即:x 和 y 是已知的,我只需要角度。

所以这里有2个问题。解释上面的代码并将精灵指向已知点的方向。

更新:

我发现对象所在的点a不是(0,0),因为xna使用逆坐标系。所以现在我拥有的变量是:

对象点。鼠标点。

0 投票
2 回答
1381 浏览

flash - 如何在 AS3 中为弧形中的显示对象设置动画?

这仅适用于 Flash AS3 项目中的游戏。

玩家用枪控制一个角色。通过点击屏幕,枪以弧线向点击的点发射导弹。

为每一帧计算导弹的 x 和 y 坐标的最佳方法是什么?