單像空間後方交會計算旋轉矩陣

君不見黃河發表於2020-11-18
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);
      }

相關文章