Пример #1
0
        public static Matrix4X4 operator *(Matrix4X4 A, Matrix4X4 B)
        {
            Matrix4X4 Temp = new Matrix4X4(A);

            Temp.Multiply(B);
            return(Temp);
        }
Пример #2
0
        public void PrepareInvMatrix(double Tx, double Ty, double Tz,
                                     double Rx, double Ry, double Rz,
                                     double Sx, double Sy, double Sz)
        {
            Matrix4X4 M0 = new Matrix4X4();
            Matrix4X4 M1 = new Matrix4X4();
            Matrix4X4 M2 = new Matrix4X4();
            Matrix4X4 M3 = new Matrix4X4();
            Matrix4X4 M4 = new Matrix4X4();
            Matrix4X4 M5 = new Matrix4X4();
            Matrix4X4 M6 = new Matrix4X4();
            Matrix4X4 M7 = new Matrix4X4();

            M0.Scale(Sx, Sy, Sz);
            M1.Rotate(0, Rx);
            M2.Rotate(1, Ry);
            M3.Rotate(2, Rz);
            M4.Translate(Tx, Ty, Tz);
            // 4 * 3 * 2 * 1 * 0
            M5.Multiply(M4, M3);
            M6.Multiply(M5, M2);
            M7.Multiply(M6, M1);
            Multiply(M7, M0);
        }
Пример #3
0
 public static Matrix4X4 operator *(Matrix4X4 A, Matrix4X4 B)
 {
     Matrix4X4 Temp = new Matrix4X4(A);
     Temp.Multiply(B);
     return Temp;
 }
Пример #4
0
        public void PrepareInvMatrix(double Tx, double Ty, double Tz,
                                          double Rx, double Ry, double Rz,
                                          double Sx, double Sy, double Sz)
        {
	        Matrix4X4 M0 = new Matrix4X4();
            Matrix4X4 M1 = new Matrix4X4();
            Matrix4X4 M2 = new Matrix4X4();
            Matrix4X4 M3 = new Matrix4X4();
            Matrix4X4 M4 = new Matrix4X4();
            Matrix4X4 M5 = new Matrix4X4();
            Matrix4X4 M6 = new Matrix4X4();
            Matrix4X4 M7 = new Matrix4X4();

	        M0.Scale(Sx, Sy, Sz);
	        M1.Rotate(0, Rx);
	        M2.Rotate(1, Ry);
	        M3.Rotate(2, Rz);
	        M4.Translate(Tx, Ty, Tz);
	        // 4 * 3 * 2 * 1 * 0
	        M5.Multiply(M4, M3);
	        M6.Multiply(M5, M2);
	        M7.Multiply(M6, M1);
	        Multiply(M7, M0);
        }