tsx81429 发表于 2024-9-8 01:02:49

一样平常位置下的3D齐次旋转矩阵

下面的矩阵固然复杂,但它的逆矩阵求起来非常简单,只必要在                                 sin                         ⁡                         θ                              \sin\theta                  sinθ 前面加个负号就是原来矩阵的逆矩阵。
如果编程序是可以直接拿来用的,相比别的获取一样平常旋转轴不经过原点的三维旋转矩阵的途径或算法,应该可以大概一定程度低落计算或编程复杂度。如果是引用,这个叫 LC三维旋转矩阵公式(L和C是两作者的姓的首字母联合)。
得到这个结果没有什么取巧之处,纯粹就是堆计算量、靠眼力和数学公式化简的经验。本来以为只是再现了另一种罗德里格斯公式,但现实上并不是。
                                              R                                       (                                           x                                  0                                          ,                                           y                                  0                                          ,                                           z                                  0                                          ,                               a                               ,                               b                               ,                               c                               ,                               θ                               )                                    =                                       [                                                                                     1                                                                                             0                                                                                             0                                                                                             0                                                                                                                   0                                                                                             1                                                                                             0                                                                                             0                                                                                                                   0                                                                                             0                                                                                             1                                                                                             0                                                                                                                   0                                                                                             0                                                                                             0                                                                                                             2                                              −                                              cos                                              ⁡                                              θ                                                                                                ]                                    +                                       (                                                      sin                                     ⁡                                     θ                                                   [                                                                                                          0                                                                                                                                     −                                                       c                                                                                                                                    b                                                                                                                  0                                                                                                                                              c                                                                                                                  0                                                                                                                                     −                                                       a                                                                                                                                    0                                                                                                                                                               −                                                       b                                                                                                                                    a                                                                                                                  0                                                                                                                  0                                                                                                                                              0                                                                                                                  0                                                                                                                  0                                                                                                                  0                                                                                                      ]                                                                                                   a                                           2                                                      +                                                       b                                           2                                                      +                                                       c                                           2                                                                                                   \displaystyle R\left(x_0,y_0,z_0,a,b,c,\theta\right)=\left[ \begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 2-\cos \theta \\ \end{array} \right]+\left(\frac{\sin \theta \left[ \begin{array}{rrrr} 0 & -c & b & 0 \\ c & 0 & -a & 0 \\ -b & a & 0 & 0 \\ 0 & 0 & 0 & 0 \\ \end{array} \right]}{\sqrt{a^2+b^2+c^2}} \right.                  R(x0​,y0​,z0​,a,b,c,θ)=            ​1000​0100​0010​0002−cosθ​            ​+            ​a2+b2+c2                  ​sinθ                      ​0c−b0​−c0a0​b−a00​0000​                      ​​
                                                                     −                                  (                                  1                                  −                                  cos                                  ⁡                                  θ                                  )                                             (                                                   [                                                                                                          1                                                                                                                  0                                                                                                                  0                                                                                                                  0                                                                                                                                              0                                                                                                                  1                                                                                                                  0                                                                                                                  0                                                                                                                                              0                                                                                                                  0                                                                                                                  1                                                                                                                  0                                                                                                                                              0                                                                                                                  0                                                                                                                  0                                                                                                                  1                                                                                                      ]                                                −                                                                                  [                                                                                                                        a                                                                                                                                                                b                                                                                                                                                                c                                                                                                                                                                0                                                                                                                  ]                                                          .                                                         [                                                                                                                        a                                                                                                                              b                                                                                                                              c                                                                                                                              0                                                                                                                  ]                                                                                                    a                                              2                                                          +                                                         b                                              2                                                          +                                                         c                                              2                                                                               )                                              )                                          .                                           [                                                                                          1                                                                                                    0                                                                                                    0                                                                                                                     −                                                                   x                                                    0                                                                                                                                                             0                                                                                                    1                                                                                                    0                                                                                                                     −                                                                   y                                                    0                                                                                                                                                             0                                                                                                    0                                                                                                    1                                                                                                                     −                                                                   z                                                    0                                                                                                                                                             0                                                                                                    0                                                                                                    0                                                                                                    1                                                                                        ]                                                            \displaystyle {\left.-(1-\cos \theta) \left(\left[ \begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{array} \right]-\frac{\left[ \begin{array}{c} a \\ b \\ c \\ 0 \\ \end{array} \right].\left[ \begin{array}{cccc} a & b & c & 0 \\ \end{array} \right]}{a^2+b^2+c^2}\right)\right).\left[ \begin{array}{rrrr} 1 & 0 & 0 & -{x_0} \\ 0 & 1 & 0 & -{y_0} \\ 0 & 0 & 1 & -{z_0} \\ 0 & 0 & 0 & 1 \\ \end{array} \right]}                  −(1−cosθ)                ​               ​1000​0100​0010​0001​               ​−a2+b2+c2                        ​abc0​                        ​.​                ​               ​.               ​1000​0100​0010​−x0​−y0​−z0​1​               ​
https://i-blog.csdnimg.cn/direct/09e7d4abb1f14654bf8960809dcbce7f.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 一样平常位置下的3D齐次旋转矩阵