2011-05-29 55 views
0

我有一個3d移動盒和一個固定的盒子。我可以檢測到碰撞,但現在我想將移動盒滑動到固定盒上作爲碰撞響應。爲此,我需要與移動盒碰撞的臉部正常。有誰知道我如何解決這個問題?它似乎不像碰撞測試給我這個信息。任何幫助表示讚賞。如何確定軸對齊邊界框碰撞中的碰撞法線?

+0

你在使用什麼遊戲開發庫?爲什麼你不能訪問盒子對象及其屬性?需要更多信息。 – zdav 2011-05-29 17:42:00

+0

我沒有真正使用任何庫。只是opengl。其他一切都是我自己的。 – Xavier 2011-05-29 17:45:46

回答

1

面部的法線等於與面部相鄰的所有邊緣的兩個連接邊緣的向量之間的叉積。

設a,b和c是臉部周圍的4個點的3位向量:

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

//edge b<->c
Vector3f bc = c-b;

//normal of the face
Vector3f normal = Vector3.cross_product(ab,bc);

如果你不知道什麼是兩個三維向量之間的交叉產品,你可以看看這裏:http://en.wikipedia.org/wiki/Cross_product