单像空间后方交会计算旋转矩阵

public void CalRotMat(double[,] R, double Phi, double Omega, double Kappa)//计算旋转矩阵R用来储存旋转矩阵
      { 
 
  
          R[0, 0] = Math.Cos(Phi) * Math.Cos(Kappa) - Math.Sin(Phi) * Math.Sin(Omega) * Math.Sin(Kappa);
          R[0, 1] = -Math.Cos(Phi) * Math.Sin(Kappa) - Math.Sin(Phi) * Math.Sin(Omega) * Math.Cos(Kappa);
          R[0, 2] =-Math.Sin(Phi) * Math.Cos(Omega);
          R[1, 0] =Math.Cos(Omega) * Math.Sin(Kappa);
          R[1, 1] = Math.Cos(Omega) * Math.Cos(Kappa);
          R[1, 2] =-Math.Sin(Omega);
          R[2, 0] =Math.Sin(Phi) * Math.Cos(Kappa) + Math.Cos(Phi) * Math.Sin(Omega) * Math.Sin(Kappa);
          R[2, 1] =-Math.Sin(Phi) * Math.Sin(Kappa) + Math.Cos(Phi) * Math.Sin(Omega) * Math.Cos(Kappa);
          R[2, 2] = Math.Cos(Phi) * Math.Cos(Omega);
      }