我正在使用XNA(使用DirectX)进行一些图形编程。我有一个围绕一个点旋转的盒子,但旋转有点奇怪。
似乎有人拿了一个指南针并将其旋转了180度,因此N为180,W为90等。
我似乎无法找到说明方向的来源,所以我可能只是没有使用正确的关键字。
有人可以帮我找到XNA / DirectX的定位,以及一个说明这一点的页面吗?
答案 0 :(得分:8)
DirectX使用左手坐标系。
<强> XNA 强> 使用右手坐标系。
矩阵布局如下(在此示例中使用单位矩阵)。 XNA为其矩阵使用行布局。前三行代表方向。最后一行和前三列([4,1],[4,2]和[4,3])表示平移/位置。以下是XNA's Matrix Structure的文档。
在翻译矩阵的情况下(翻译是位置和旋转组合):
Right 1 0 0 0
Up 0 1 0 0
Forward 0 0 -1 0
Pos 0 0 0 1