Advertisement
bluesky8059

TestProgram

Jul 31st, 2015
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.16 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7.  
  8. namespace quaternionTest
  9. {
  10.     class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             Quaternion q1 = new Quaternion(1, 0, 0, 0);
  15.             double[] q1RPY;
  16.             Quaternion q2 = new Quaternion(1, 0, 0, 0);
  17.             double[] q2RPY;
  18.             Quaternion result;
  19.             double[] resultRPY;
  20.             //Quaternion result = Quaternion.Slerp(q1, q2, 0.2);
  21.            
  22.             //Console.WriteLine("W: " + result.W + " X: " + result.X + " Y: " + result.Y + " Z: " + result.Z);
  23.             Console.WriteLine("W: " + q1.W + " X: " + q1.X + " Y: " + q1.Y + " Z: " + q1.Z);
  24.             q2.setRPY(0, Math.PI / 2.0, 0); //q2 pitch 轉90度
  25.             Console.WriteLine("W: " + q1.W + " X: " + q1.X + " Y: " + q1.Y + " Z: " + q1.Z);
  26.             q2RPY = q2.getRPY();
  27.             Console.WriteLine("Roll: " + q2RPY[0] + " Pitch: " + q2RPY[1] + " Yaw: " + q2RPY[2]);
  28.             q1.setRPY(0, -Math.PI / 3.0, 0); //q1 pitch 轉-60度
  29.             q1RPY = q1.getRPY();
  30.             Console.WriteLine("Roll: " + q1RPY[0] + " Pitch: " + q1RPY[1] + " Yaw: " + q1RPY[2]);
  31.             result = q2 / q1;
  32.             resultRPY = result.getRPY();
  33.             Console.WriteLine("Roll: " + resultRPY[0] + " Pitch: " + resultRPY[1] + " Yaw: " + resultRPY[2]);
  34.  
  35. #if false//true
  36.             Console.WriteLine("W: " + q1.W + " X: " + q1.X + " Y: " + q1.Y + " Z: " + q1.Z);
  37.             q1.setRPY(0, Math.PI / 2.0, 0); //Y轉90度
  38.             Console.WriteLine("W: " + q1.W + " X: " + q1.X + " Y: " + q1.Y + " Z: " + q1.Z);
  39.             q1.setRPY(0, -Math.PI / 2.0, 0); //Y轉-90度
  40.             Console.WriteLine("W: " + q1.W + " X: " + q1.X + " Y: " + q1.Y + " Z: " + q1.Z);
  41.             q1.setRPY(Math.PI / 2.0, 0, 0); //X轉90度
  42.             Console.WriteLine("W: " + q1.W + " X: " + q1.X + " Y: " + q1.Y + " Z: " + q1.Z);    
  43.             q1.setRPY(-Math.PI / 2.0, 0, 0); //X轉-90度
  44.             Console.WriteLine("W: " + q1.W + " X: " + q1.X + " Y: " + q1.Y + " Z: " + q1.Z);
  45. #endif
  46.             Console.ReadLine();
  47.         }
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement