Пример #1
0
        public static Matriz3D projParalela()
        {
            Matriz3D r = new Matriz3D();

            r.Identidade();
            r.set_m(2, 2, 0);
            return(r);
        }
Пример #2
0
        public static Matriz3D projPerspectiva(float d)
        {
            Matriz3D r = new Matriz3D();

            r.Identidade();
            r.set_m(2, 2, 0);
            r.set_m(3, 2, (1 / d));
            return(r);
        }
Пример #3
0
        public static Matriz3D translacao(float tx, float ty, float tz)
        {
            Matriz3D r = new Matriz3D();

            r.Identidade();
            r.set_m(0, 3, tx);
            r.set_m(1, 3, ty);
            r.set_m(2, 3, tz);
            return(r);
        }
Пример #4
0
        public static Matriz3D escala(float sx, float sy, float sz)
        {
            Matriz3D r = new Matriz3D();

            r.Identidade();
            r.set_m(0, 0, sx);
            r.set_m(1, 1, sy);
            r.set_m(2, 2, sz);
            return(r);
        }
Пример #5
0
        public static Matriz3D rotacaoZ(float theta)
        {
            theta = (float)(Math.PI / 180) * theta;
            Matriz3D r = new Matriz3D();

            r.Identidade();
            r.set_m(0, 0, (float)Math.Cos((double)theta));
            r.set_m(0, 1, -(float)Math.Sin((double)theta));
            r.set_m(1, 0, (float)Math.Sin((double)theta));
            r.set_m(1, 1, (float)Math.Cos((double)theta));
            return(r);
        }
Пример #6
0
        public static Matriz3D operator *(Matriz3D m1, Matriz3D m2)
        {
            Matriz3D r    = new Matriz3D();
            float    temp = 0.0f;

            for (int i = 0; i < 4; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    temp = 0.0f;
                    for (int k = 0; k < 4; k++)
                    {
                        temp += m1.m[i, k] * m2.m[k, j];
                    }
                    r.m[i, j] = temp;
                }
            }
            return(r);
        }