将法向量旋转到4D中的轴平面上



我需要解决的问题是用法向量(1,1,1)在超平面上旋转4D中给出的一个4-单纯形,这样我就可以在3D中绘制它。例如,我需要知道具有顶点e_I(即坐标向量)的正则顶点的旋转,以及除法后的所有子单形。

为了理解这个问题,让我们回到一维。如果你在三维超平面上有一个3单点,法向量是(1,1,1),就像这里一样(http://upload.wikimedia.org/wikipedia/commons/thumb/3/38/2D-simplex.svg/150px-2D-simplex.svg.png),一个人可以遵循Nosredna的想法到问题

将法线向量旋转到轴平面上

它在3D中工作得很好,但在4D中没有交叉乘积,所以我无法将这个答案扩展到我的问题。另一方面,使用旋转矩阵,我设法将单纯形绕x轴旋转-45度,然后使用坐标旋转矩阵(http://upload.wikimedia.org/math/2/8/5/2851c9dc2031127e6dacfb84b96446d8.png)绕y轴旋转约35度(atan(sqrt(2)/2)。

我还试图根据轴的旋转来计算旋转矩阵,如http://ken-soft.com/2009/01/08/graph4d-rotation4d-project-to-2d/但是我不知道应该用什么角度。所以我使用了角度为pi/4、-atan(sqrt(2)/2和-pi/6的R=rotXU*rotYU*rotZU,这看起来不错,但不知何故结果不好。

对不起,我不能直接放图片,因为我是一个新手。。。

谢谢你的回答!

4D中没有旋转轴,同样的原因是没有叉积:4D旋转的组是6维的,而您正在旋转的空间是4维的。例如,想象一下,在XY平面和ZT平面上同时旋转:它没有非零的静止矢量,因此也没有轴。

最合适的做法是使用通常的信息矩阵,它适用于任何维度N:

[ a11 ... a1N d1 ]
...
[ aN1 ... aNN dN ]
[ 0 ...   0   1  ]

此处d1。。。dN表示平移,NxN子矩阵aIJ表示旋转、扩张、投影和镜像。为了限制旋转,只使这个矩阵正交:它与自己的转置的乘积应该是单位矩阵。对于N=2和N=3,这是一种常见的做法,对于N=4,您也可以这样做。

为了在你的情况下找到合适的旋转矩阵,写下正交4x4矩阵的整个第4行为零的要求,这将给你一系列的解决方案,每一个都是你问题的可接受答案。

最新更新