今天一项工作要处理坐标变换,简单研究了下。

局部坐标系到全局坐标系

原理如下:
坐标系转换
图中,世界坐标系是(X,Y,Z)(X, Y, Z),局部坐标系是(X,Y,Z)(X', Y', Z'),局部坐标系原点OO'
要转换的点是PP
OP=xi+yj+zkOO=ai+bj+ck OP =x*i+y*j+z*k \\ OO'=a*i+b*j+c*k
坐标轴对应关系
{i=u11i+u12j+u13kj=u21i+u22j+u22kk=u31i+u32j+u33k \left\{\begin{matrix} i'=u_{11}*i+u_{12}*j+u_{13}*k \\ j'=u_{21}*i+u_{22}*j+u_{22}*k \\ k'=u_{31}*i+u_{32}*j+u_{33}*k \end{matrix}\right.
联立公式
OP=xi+yj+zk=x(u11i+u12j+u13k)+y(u21i+u22j+u22k)+z(u31i+u32j+u33k)=(u11x+u21y+u31z)i+(u12x+u22y+u32z)j+(u13x+u23y+u33z)k O'P=x'*i'+y'*j'+z'*k'\\ = \quad x'*(u_{11}*i+u_{12}*j+u_{13}*k) \\ \quad +y'*(u_{21}*i+u_{22}*j+u_{22}*k) \\ \quad +z'*(u_{31}*i+u_{32}*j+u_{33}*k) \\ = \quad (u_{11}*x'+u_{21}*y'+u_{31}*z')*i \\ \quad + (u_{12}*x'+u_{22}*y'+u_{32}*z')*j \\ \quad + (u_{13}*x'+u_{23}*y'+u_{33}*z')*k
OP=OO+OPOP=OO'+O'P ,于是
{x=a+u11x+u21y+u31zy=b+u12x+u22y+u32zz=c+u13x+u23y+u33z \left\{\begin{matrix} x=a+u_{11}*x'+u_{21}*y'+u_{31}*z'\\ y=b+u_{12}*x'+u_{22}*y'+u_{32}*z'\\ z=c+u_{13}*x'+u_{23}*y'+u_{33}*z' \end{matrix}\right.
得转换关系
[xyz1]=[xyz1]W \begin{bmatrix} x & y & z & 1 \end{bmatrix} = \begin{bmatrix} x' & y' & z' & 1 \end{bmatrix} * W
最终获得矩阵
W=[u11u12u130u21u22u230u31u32u330abc1] W= \begin{bmatrix} u_{11} & u_{12} & u_{13} & 0\\ u_{21} & u_{22} & u_{23} & 0\\ u_{31} & u_{32} & u_{33} & 0\\ a & b & c & 1 \end{bmatrix}

全局坐标系到局部坐标系

因为
[xyz1]=[xyz1]W \begin{bmatrix} x & y & z & 1 \end{bmatrix} = \begin{bmatrix} x' & y' & z' & 1 \end{bmatrix} * W
那么
[xyz1]W1=[xyz1] \begin{bmatrix} x & y & z & 1 \end{bmatrix} * W^{-1} = \begin{bmatrix} x' & y' & z' & 1 \end{bmatrix}
观察到
W=[u11u12u130u21u22u230u31u32u330abc1]=[u11u12u130u21u22u230u31u32u3300001][100001000010abc1]=RT W= \begin{bmatrix} u_{11} & u_{12} & u_{13} & 0\\ u_{21} & u_{22} & u_{23} & 0\\ u_{31} & u_{32} & u_{33} & 0\\ a & b & c & 1 \end{bmatrix} = \begin{bmatrix} u_{11} & u_{12} & u_{13} & 0\\ u_{21} & u_{22} & u_{23} & 0\\ u_{31} & u_{32} & u_{33} & 0\\ 0 & 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ a & b & c & 1 \end{bmatrix} =R \cdot T
其中,RR是旋转矩阵,TT是平衡矩阵
那么
W1=(RT)1=T1R1 W^{-1}= (R\cdot T)^{-1} = T^{-1}*R^{-1}
其中
T1=[100001000010abc1] T^{-1} = \begin{bmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ -a & -b & -c & 1 \end{bmatrix}
如果RR是正定矩阵,即RR1=ER \cdot R^{-1} = E。那么
R1=RT=[u11u21u310u12u22u320u13u23u3300001] R^{-1}=R^{T}= \begin{bmatrix} u_{11} & u_{21} & u_{31} & 0\\ u_{12} & u_{22} & u_{32} & 0\\ u_{13} & u_{23} & u_{33} & 0\\ 0 & 0 & 0 & 1 \end{bmatrix}

相关文章:

  • 2021-08-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-26
  • 2021-09-12
猜你喜欢
  • 2021-07-28
  • 2022-12-23
  • 2021-10-07
  • 2021-08-19
  • 2022-02-09
  • 2021-11-14
  • 2021-05-21
相关资源
相似解决方案