public void CalRotMat(double[,] R, double Phi, double Omega, double Kappa)
{
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);
}