コード例 #1
0
ファイル: Matrix.cs プロジェクト: perepichka/RoomAlive
        public static void QuatRot(Matrix q, Matrix x, Matrix y)
        {
            // p. 361 Watt and Watt

            Matrix p = new Matrix(4, 1);

            p[0] = x[0];
            p[1] = x[1];
            p[2] = x[2];
            p[3] = 0.0;

            Matrix q1 = new Matrix(4, 1);
            Matrix q2 = new Matrix(4, 1);
            Matrix qi = new Matrix(4, 1);

            qi.QuatInvert(q);

            q1.QuatMult(q, p);
            q2.QuatMult(q1, qi);

            y[0] = q2[0];
            y[1] = q2[1];
            y[2] = q2[2];
        }
コード例 #2
0
		public static void QuatRot(Matrix q, Matrix x, Matrix y)		
		{
			// p. 361 Watt and Watt

			Matrix p = new Matrix(4,1);
			p[0] = x[0];
			p[1] = x[1];
			p[2] = x[2];
			p[3] = 0.0;

			Matrix q1 = new Matrix(4,1);
			Matrix q2 = new Matrix(4,1);
			Matrix qi = new Matrix(4,1);

			qi.QuatInvert(q);

			q1.QuatMult(q, p);
			q2.QuatMult(q1, qi);

			y[0] = q2[0];
			y[1] = q2[1];
			y[2] = q2[2];
		}