问题标签 [rigid-bodies]

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 投票
5 回答
1608 浏览

language-agnostic - 角动量传递方程

对于如何计算两个刚体之间的角动量传递,是否有人对可以相对容易地实现的方程有任何好的参考?

我一直在寻找这种东西一段时间,我还没有找到任何特别容易理解的问题解释。

确切地说,问题是这样产生的;两个刚体在一个无摩擦(好,几乎)的表面上运动;把它想象成空气曲棍球。两个刚体接触,然后移开。现在,不考虑角动量,方程相对简单;问题变成了,物体之间的角动量转移会发生什么?

例如,假设这两个物体没有任何角动量;他们没有旋转。当它们以斜角相互作用时(行进矢量与它们的质心线不对齐),显然它们的一定量的动量被转换为角动量(即它们每个都得到一定量的自旋),但是如何很多,这样的方程式是什么?

这可能可以通过使用多体刚性系统进行计算来解决,但我想要进行更优化的计算,所以我可以实时计算这些东西。是否有人对方程式有任何想法,或指向这些计算的开源实现以包含在项目中?准确地说,我需要这是一个相当优化的计算,因为需要在模拟的单个“滴答”中模拟交互的数量。

编辑:好的,看起来关于这个主题的准确信息并不多。而且我发现“程序员物理学”类型的书有点太……愚蠢到真正得到;我不想要算法的代码实现;我想弄清楚(或至少为我勾勒出)算法。只有这样,我才能根据我的需要适当地优化它。有人对此类主题有任何数学参考吗?

0 投票
5 回答
6092 浏览

math - 如何计算多面体的质量和转动惯量?

为了在刚体模拟中使用,我想计算质量和惯性张量(惯性矩),给定一个三角形网格表示(不一定是凸的)对象的边界,并假设内部的密度恒定。

0 投票
1 回答
205 浏览

geometry - 将四元数与轴进行比较

我将对象的方向存储为单位四元数,我想查看对象的局部 x 轴与全局 y 轴的角度。最简单的方法是什么?

谢谢!

0 投票
1 回答
1320 浏览

bullet - 有没有人有关于如何使用 Bullet Physics/jBullet 进行 voronoi 粉碎的示例/教程?

我正在尝试使用 jBullet 物理和 voronoi shattering 工作。我可以找到大量有关它工作的视频,只是没有代码示例。

Java 或 C++ 都可以。只需要一些代码的示例。找不到这样做的一个例子。

如果有人有好的示例/教程的链接,我将不胜感激。

谢谢!

最大限度

0 投票
2 回答
1922 浏览

camera - 碰撞物体

我正在通过 Unity 迈出第一步,作为对这个问题的跟进:

http://answers.unity3d.com/questions/56697/isometric-game-camera-limits

我现在意识到我不知道如何让对撞机真正发生碰撞。现在我有一个游戏对象,而不是相机,而相机是该对象的子对象。它有一个盒子碰撞器,关卡周围还有其他四个盒子碰撞器,所以它会与它们发生碰撞......当然,它不起作用,因为我手动更改了位置变量。我该怎么做才会发生碰撞?使用刚体并对其施加力?有没有办法在上面加上 maxVelocity ?我看不到一个,除了刚体对于我想做的事情来说似乎有点矫枉过正。否则我想我只放质量 1,并导出阻力和力,但我更愿意使用 maxSpeed,因为阻力也会影响加速度

0 投票
2 回答
281 浏览

collision-detection - 如何模拟两根棍子的碰撞,就像你在愤怒的小鸟中看到的那样?

愤怒的小鸟建筑似乎是由坚硬的棍棒组成的,它们碰撞并坠落。我当然想知道如何做到这一点。我不介意编写原始代码,但肯定有人已经弄清楚了这一点并将其开源?

0 投票
1 回答
1621 浏览

unity3d - 如何仅制作名为 GameObject 的 Raycast 效果

在我当前的(Unity 3.3 IOS)项目中,我有一个角色走过一座桥。如果角色从桥上掉下来,他就会掉进火热的河里并爆炸。问题是当他在桥上时,Raycast 会读取桥上的刚体,他会立即爆炸。如果我将他在场景窗口中重新定位到露天位置,重力会导致他掉入河中并按计划爆炸。我添加了以下代码行以指定仅在光线投射击中“平面”时销毁。它不起作用。

角色不会在桥上或撞到飞机/火热的河流时被摧毁。

他将走进几座桥梁和建筑物,所以我只希望他在射线投射到飞机上时被摧毁/爆炸。

谁能告诉我为什么我的代码不起作用或如何纠正它?

这是我完整的 Raycast 代码。

0 投票
5 回答
9827 浏览

physics - 如何制作 2D 软体物理引擎?

Box2d中刚体的定义是

一块如此坚固的物质,以至于该块上任意两块物质之间的距离是完全恒定的。

这正是我不想要的,因为我想制作2D(最终可能是 3D)、弹性、可变形、易碎甚至粘性物体。

我希望从这个社区中获得的是资源,这些资源可以教会我物体如何弯曲、断裂和相互作用背后的数学。我不关心这些物体的分子或化学性质,当我尝试搜索如何计算一块木头、金属、橡胶、粘液、液体、有机材料等时,我发现的往往是这些。可能看起来像在对其施加力后。

此外,我是一个非常直观的人,所以图表等对我非常有帮助。

==================================================== ===============================

忽略这些问题,它们已经过时了,我将它们保留在这里只是为了上下文目的

1.有没有像这样简单的2D软体物理引擎?
最好是免费的还是开源的?

2.如果不是,我可以自己制作而不用花费数年时间吗?

3. 考虑到我 1 年的编程经验和子弹是 3D 的,我可以使用现有的子弹和 box2d 等引擎并简单地转换他们的代码,或者这只会导致更多的问题吗?

4.最后,如果我要转换另一个库,是最好改变box2D的已经二维代码,Bullet的已经软代码,还是混合两者的源代码?


谢谢!

0 投票
2 回答
1439 浏览

physics-engine - Bullet Physics MultiSphereShape Usage

  1. I am posting here because I have not been successful in finding a helpful answer either directly on the Bullet Physics forum or any of those associated forums which have either ported the library [JBullet, BulletCS] or incorporated it in their own product [Blender, Panda3d]. Here it seems, at least if I can ask the question properly, the odds seem best of getting a helpful reply.

  2. I want to simulate the rolling of dice. All the examples I can find seem content with using a Box shape. Mine is an interest in children's games, not Las Vegas. The defining difference, at least in my application, is that the dice [whether 6-sided, or something else, but let's just stick with 6-sided here] have 'kinder-gentler' rounded edges with no pointed corners.

  3. It seems that btMultiSphereShape would be just perfect for me -- me being someone who does not have the knowledge to construct any complex shape from lower-level primitives, me being someone who hopes to use what is already built into the collision intelligence of the Bullet engine, not someone trying to engineer any new, exotic behavior.

  4. With that preface I would really appreciate a succinct example of:

    a. how to pass the arguments to the btMultiSphhereShape constructor; b. how to configure the transform that needs to be passed to btDefaultMaotionState; and c. how to set the localInertia.

  5. I understand that this is a general-purpose library with classes that can support almost anything, but please, for a beginner, instead of discussions of those very nice attributes of a well-conceived toolkit, what would be most helpful to me [and I believe to many other users] would be a clear example of supplying those key properties to the necessary classes and methods to these specifics:

    a. a six-sided die with equal dimensions, let's make the rounded cube about 2cm per side; b. let's have the radius of the 'corners' a gentle 0.1.cm.

  6. Now, one more request, please. In order to observe the behavior of the die beginning with a simple 'drop', taking into account only forces due to gravity, please suggest a transform that will result in some kind of interesting tumbling result from a collision against the usual 'floor' example; in other words, it should impact the floor on a rounded corner.

0 投票
2 回答
321 浏览

rendering - 如何使用 povray 渲染 3d 刚性物体的运动

我运行了几个对象的刚体模拟,我想使​​用 povray 渲染这个模拟。

对象的网格保持不变,所改变的只是每个对象的位置和方向。在 povray 中迭代生成电影图像的最佳方法是什么?我可以在每次迭代中编写一个完整的 pov 文件,然后将它们全部发送到 povray,但由于每个网格非常大,我希望只编写一次。可能吗?

如果有更好的方法可以做到这一点,请告诉我......