IllidanS4

Untitled

May 28th, 2016
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.81 KB | None | 0 0
  1. /*Output
  2. 1, 0.000122, -0.000122, -0.000742
  3. -0.0139697970533148, -0.0279395932786252, 0.0850286761159263
  4.  
  5. 0.923879, 0, 0, -0.382683
  6. 0, 0, 44.9999243069029
  7.  
  8. 0.921593, 0, -0.388156, 0
  9. 0, -63.9747933434819, 0
  10.  
  11. 0.922824, -0.385187, 0.002027, -0.004683
  12. 45.3082404864558, 0.0217477652132213, 0.83138677312262
  13.  
  14. 0.852329, 0.147665, -0.356494, -0.353046
  15. -4.3666374071391E-05, -55.1072147579062, 44.9999563244289
  16.  
  17. 0.852672, -0.355673, -0.147325, -0.353186
  18. 45.2846555490603, -55.0035426284763, 44.9995303315749
  19.  
  20. 0.859898, -0.349869, -0.353665, -0.114391
  21. 43.0483665090359, -69.8530490960553, -3.98170732347442
  22.  
  23. 0.741364, -0.203753, -0.454495, -0.449773
  24. 45.3122167626241, -73.6222763862334, 43.2312805970048
  25.  
  26. 0.728665, -0.190846, -0.466389, -0.463794
  27. 45.2953545085194, -73.9751782030813, 45.0540284997163
  28. */
  29.  
  30.         double[] arr = new double[]{
  31.             1.000000,  0.000122, -0.000122, -0.000742,
  32.             0.923879,  0.000000,  0.000000, -0.382683,
  33.             0.921593,  0.000000, -0.388156,  0.000000,
  34.             0.922824, -0.385187,  0.002027, -0.004683,
  35.             0.852329,  0.147665, -0.356494, -0.353046,
  36.             0.852672, -0.355673, -0.147325, -0.353186,
  37.             0.859898, -0.349869, -0.353665, -0.114391,
  38.             0.741364, -0.203753, -0.454495, -0.449773,
  39.             0.728665, -0.190846, -0.466389, -0.463794
  40.         };
  41.        
  42.         for(int i = 0; i < arr.Length/4; i++)
  43.         {
  44.             double w = arr[i*4], x = arr[i*4+1], y = arr[i*4+2], z = arr[i*4+3];
  45.             Console.WriteLine("{0}, {1}, {2}, {3}", w, x, y, z);
  46.             euler_angles(w, x, y, z);
  47.             Console.WriteLine();
  48.         }
  49.  
  50.     public static void euler_angles(double w, double x, double y, double z)
  51.     {
  52.         var xa = Math.Asin(2*y*z - 2*x*w);
  53.         var ya = -Math.Atan2(2*x*z - 2*y*w, 0.5 - x*x - y*y);
  54.         var za = -Math.Atan2(x*y + z*w, 0.5 - x*x - z*z);
  55.         Console.WriteLine("{0}, {1}, {2}", xa/Math.PI*180, ya/Math.PI*180, za/Math.PI*180);
  56.     }
Advertisement
Add Comment
Please, Sign In to add comment