【问题标题】:Euler angles from a 2x2 ZYZ rotation matrix?来自2x2 ZYZ旋转矩阵的欧拉角?
【发布时间】:2013-01-14 17:02:00
【问题描述】:

如何从随机 2x2 ZYZ 旋转矩阵中找到欧拉角?我们知道所有 SU(2) 矩阵都可以使用 ZYZ 分解作为基于欧拉角的三矩阵乘积进行分解。在关于欧拉角的维基百科中:

“类似的三角分解适用于 SU(2),它是复杂二维空间中的特殊酉旋转群,不同之处在于 β 的范围从 0 到 2π。这些也称为欧拉角。”

我确实尝试在 matlab 中做一个方程系统,但它在某些情况下(泡利矩阵)找到了解决方案,而在许多其他情况下却没有。它永远不会找到随机的 SU(2) 矩阵。

有人知道一般方法吗?我已经找到了如何做 3x3 矩阵,但不是 2x2 ZYZ。

最好的问候!

【问题讨论】:

  • 我错过了什么吗?对于 2x2 配合,只有一种可能的旋转。只能表示围绕 Z 的旋转。能否举个例子让我们理解。
  • 当然。忽略全局相位因子,所有 SU(2) 矩阵可以分解为: U = e^{-i/2 * t1 * Z} * e^{-i/2 * t2 * Y} * e^{- i/2 * t3 * Z},其中 Y 和 Z 是泡利矩阵,Y = [0 -i;我 0] e Z = [1 0; 0 -1]。这是 ZYZ 旋转。
  • 是的,您可能希望将所有这些都放在原始问题中,并包含参考资料,因为这对答案至关重要。

标签: matlab matrix linear-algebra rotatetransform euler-angles


【解决方案1】:

来自https://groups.google.com/forum/?fromgroups=#!topic/mathtools/q25a5WoG6Eo,龚海峰写的(你不是自己找的吗):

function orthm = ang2orth(ang) 

sa = sin(ang(2)); ca = cos(ang(2)); 
sb = sin(ang(1)); cb = cos(ang(1)); 
sc = sin(ang(3)); cc = cos(ang(3)); 

ra = [  ca,  sa,  0; ... 
       -sa,  ca,  0; ... 
         0,   0,  1]; 
rb = [  cb,  0,  sb; ... 
         0,  1,  0; ... 
       -sb,  0,  cb]; 
rc = [  1,   0,   0; ... 
        0,   cc, sc;... 
        0,  -sc, cc]; 
orthm = rc*rb*ra; 

function ang = orth2ang(orthm) 
ang(1) = asin(orthm(1,3)); %Wei du 
ang(2) = angle( orthm(1,1:2)*[1 ;i] ); %Jing Du 
yz = orthm* ... 
    [orthm(1,:)',... 
     [-sin(ang(2)); cos(ang(2)); 0],... 
     [-sin(ang(1))*cos(ang(2)); -sin(ang(1)*sin(ang(2))); 
cos(ang(1))] ]; 

ang(3) = angle(yz(2,2:3)* [1; i]); % Xuan Du 

可以看到herehereThere is an isomorphism between SO(3) and SU(2):

【讨论】:

  • 您好,朋友,谢谢,但此算法适用于 3d 旋转。我需要 2x2 复杂矩阵。
  • 2d 到 3d 之间的过渡是设置一个轴有一个 const plane 比如说 z=0,小心操作
  • 对不起,我不明白。我可以转换复杂的 2x2 矩阵 U = [0.2762 + 0.2832i 0.6413 + 0.6575i; -0.6413 + 0.6575i 0.2762 - 0.2832i] 到 3x3 实矩阵并应用上述方法?
  • 你可以通过很多方式做到这一点,你可以坚持根据 z 的旋转将是 2pi 或者说是零。对你没有意义?
  • 当然。我使用this reference 第 4 页中定义的映射将 2x2 复数矩阵转换为 3x3 实数旋转矩阵。然后我使用this matlab 实现来提取欧拉角。但它不适用于所有情况.. :( 如果我尝试使用泡利矩阵,我不知道值。:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-16
  • 1970-01-01
  • 2019-07-07
  • 1970-01-01
相关资源
最近更新 更多