Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 矩阵中的同时旋转_C_Opengl - Fatal编程技术网

C 矩阵中的同时旋转

C 矩阵中的同时旋转,c,opengl,C,Opengl,有人能(再次)帮我吗?我有这样一个矩阵: 1.0 0.0 0.0 2.5 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 如何在X轴上旋转20°,在Y轴上旋转128°,在Z轴上旋转72.1° 多谢各位 我想同时在X轴,Y轴和Z轴上旋转 你不能。你所要求的是数学上未定义的。有6种排列顺序可以组合基本旋转 X Y Z X Z Y Y×Z Y Z X zxy zyx 每一个都有不同的结果。旋转不是你想的那样。从数学上讲,三维

有人能(再次)帮我吗?我有这样一个矩阵:

1.0  0.0  0.0  2.5
0.0  1.0  0.0  0.0
0.0  0.0  1.0  0.0
0.0  0.0  0.0  1.0
如何在X轴上旋转20°,在Y轴上旋转128°,在Z轴上旋转72.1°

多谢各位

我想同时在X轴,Y轴和Z轴上旋转

你不能。你所要求的是数学上未定义的。有6种排列顺序可以组合基本旋转

  • X Y Z
  • X Z Y
  • Y×Z
  • Y Z X
  • zxy
  • zyx
每一个都有不同的结果。旋转不是你想的那样。从数学上讲,三维空间中的旋转形成了一个特殊的2次酉群,也称为SU(2)。SU(2)中的每个旋转都是唯一的,但可以通过组合SU(2)中无限多个其他旋转来构造


在你的特殊情况下,这个问题没有特别的解决办法。您可以做的最好的事情是选择一个特定的执行顺序,通过形成相应的旋转矩阵并乘以表示上一个坐标系/转换步骤的矩阵,将旋转一个接一个地应用到现有坐标系上。

非常感谢您的朋友!:-)