我需要解决的问题是使用法向量(1,1,1,1)在超平面上旋转4D中给出的4-simplex,以便我可以用3D绘制它。例如,我需要知道具有顶点e_i(即坐标向量)的常规旋转及其划分后的所有子单纯旋转。
为了理解这个问题,让我们回到一个方向。如果你在超平面上有一个三维单形3D,并且像这里(http://upload.wikimedia.org/wikipedia/commons/thumb/3/38/2D-simplex.svg/150px-2D-simplex.svg.png)那样有法向量(1,1,1),那么可以按照诺斯雷德纳的想法来解决问题
将法线向量旋转到轴平面
它在3D中运行良好,但在4D中没有交叉产品,所以我不能将这个答案扩展到我的问题。另一方面,使用旋转矩阵,我设法绕x轴旋转-45度,然后使用坐标旋转矩阵围绕y轴旋转约35度(atan(sqrt(2)/ 2)(http: // upload.wikimedia.org/math/2/8/5/2851c9dc2031127e6dacfb84b96446d8.png)。
我还尝试从http://ken-soft.com/2009/01/08/graph4d-rotation4d-project-to-2d/中的轴旋转计算旋转矩阵,但我无法找出应该使用的角度。所以我使用R = rotXU * rotYU * rotZU,角度为pi / 4,-atan(sqrt(2)/ 2和-pi / 6,看起来不错,但不知怎的,结果还不行。
对不起,我不能直接把图像放进去,因为我是新手......
谢谢你的回答!
答案 0 :(得分:0)
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行为零的要求,这将为您提供一堆解决方案,每个解决方案都是您问题的可接受答案。 / p>