【问题标题】:How do I determine the collision normal in an axis aligned bounding box collision?如何确定轴对齐边界框碰撞中的碰撞法线?
【发布时间】:2011-05-29 17:30:49
【问题描述】:

我有一个 3d 移动框和一个固定框。我可以检测到碰撞,但现在我想将移动的盒子滑动到静止的盒子上作为碰撞响应。为此,我需要与移动框碰撞的面部法线。有谁知道我如何解决这个问题?碰撞测试似乎没有给我这个信息。任何帮助表示赞赏。

【问题讨论】:

  • 您使用什么游戏开发库?为什么不能访问盒子对象及其属性?需要更多信息。
  • 我真的没有使用任何库。只是opengl。其他的几乎都是我自己的。

标签: collision-detection intersection bounding-box aabb


【解决方案1】:

面的法线等于与面相邻的所有边的其中两条连接边的向量的叉积。

设 a、b 和 c 为面部周围 4 个点中的 3 个的位置向量:

//edge a<->b
Vector3f ab = b-a;

//边bc
Vector3f bc = c-b;

//脸部正常
Vector3f 正常 = Vector3.cross_product(ab,bc);

如果不知道两个三维向量的叉积是什么,可以看这里:http://en.wikipedia.org/wiki/Cross_product

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 2012-09-05
    • 2011-04-21
    • 2012-08-29
    • 2013-02-18
    • 2013-04-01
    • 2015-02-02
    相关资源
    最近更新 更多