Esempio n. 1
0
        private Matriz traslacion(float x, float y)
        {
            Matriz m = identidad();

            m.setData(x, 2, 0);
            m.setData(y, 2, 1);
            return(m);
        }
Esempio n. 2
0
        private Matriz escalacion(float x, float y)
        {
            Matriz m = identidad();

            m.setData(x, 0, 0);
            m.setData(y, 1, 1);
            return(m);
        }
Esempio n. 3
0
        private Matriz reflexionC()
        {
            Matriz m = identidad();

            m.setData(-1, 0, 0);
            m.setData(-1, 1, 1);
            return(m);
        }
Esempio n. 4
0
        public Escenario multEscenario(Escenario e, Matriz m)
        {
            Escenario res = new Escenario(e.CentroEsc);

            for (int i = 0; i < e.ListaObjetos.Count; i++)
            {
                res.addObj(multObjeto(e.ListaObjetos[i], m));
            }
            return(res);
        }
Esempio n. 5
0
        public List <Poligono> multObj2(Objeto o, Matriz m)
        {
            Objeto res = new Objeto(o.CentroObj);

            for (int i = 0; i < o.ListaPoligonos.Count; i++)
            {
                res.addPoligono(multPoligono(o.ListaPoligonos[i], m));
            }
            return(res.ListaPoligonos);
        }
Esempio n. 6
0
        public Poligono multPoligono(Poligono p, Matriz m)
        {
            Poligono res = new Poligono(p.CentroPol);

            for (int i = 0; i < p.ListaPuntos.Count; i++)
            {
                res.addPunto(multPunto(p.ListaPuntos[i], m));
            }
            return(res);
        }
Esempio n. 7
0
        private Matriz rotacion(float angulo)
        {
            Matriz m = identidad();

            angulo = angulo * ((float)Math.PI / 180);
            m.setData((float)Math.Cos(angulo), 0, 0);
            m.setData((float)Math.Sin(angulo), 0, 1);
            m.setData(-(float)Math.Sin(angulo), 1, 0);
            m.setData((float)Math.Cos(angulo), 1, 1);
            return(m);
        }
Esempio n. 8
0
        private Matriz multMatriz(Matriz a, Matriz b)
        {
            Matriz res = new Matriz();

            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    for (int k = 0; k < 3; k++)
                    {
                        res.setData(res.getData(i, j) + a.getData(i, k) * b.getData(k, j), i, j);
                    }
                }
            }

            return(res);
        }
Esempio n. 9
0
 public Transformacion()
 {
     matrix = new Matriz();
     for (int i = 0; i < 3; i++)
     {
         for (int j = 0; j < 3; j++)
         {
             if (i == j)
             {
                 matrix.setData(1, i, j);
             }
             else
             {
                 matrix.setData(0, i, j);
             }
         }
     }
 }
Esempio n. 10
0
        private Matriz identidad()
        {
            Matriz m = new Matriz();

            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    if (i == j)
                    {
                        m.setData(1, i, j);
                    }
                    else
                    {
                        m.setData(0, i, j);
                    }
                }
            }
            return(m);
        }
Esempio n. 11
0
 public void rotar(float angulo)
 {
     matrix = multMatriz(matrix, rotacion(angulo));
 }
Esempio n. 12
0
 public void escalar(float x, float y)
 {
     matrix = multMatriz(matrix, escalacion(x, y));
 }
Esempio n. 13
0
 public void trasladar(float x, float y)
 {
     matrix = multMatriz(matrix, traslacion(x, y));
 }
Esempio n. 14
0
 public void reflejarR()
 {
     matrix = multMatriz(matrix, reflexionR());
 }