Example #1
0
        public void dezenhaPoligono(Matriz m)
        {
            int anterior = 1;

            for (int corrente = 3; corrente < m.matriz.Length; corrente = corrente + 2)
            {
                dezenhaLinha(Convert.ToInt32(m.matriz[anterior - 1]), Convert.ToInt32(m.matriz[anterior]), Convert.ToInt32(m.matriz[corrente - 1]), Convert.ToInt32(m.matriz[corrente]));
                anterior = corrente;
            }
            dezenhaLinha(Convert.ToInt32(m.matriz[anterior - 1]), Convert.ToInt32(m.matriz[anterior]), Convert.ToInt32(m.matriz[0]), Convert.ToInt32(m.matriz[1]));
        }
Example #2
0
        public Matriz ecalar(double e)
        {
            Matriz retorno = new Matriz(x, y);
            int    i       = 0;

            foreach (int r in matriz)
            {
                retorno.matriz[i] = matriz[i] * e;
                i++;
            }
            return(retorno);
        }
Example #3
0
 public Matriz sutracao(Matriz m)
 {
     if (x == m.x && y == m.y)
     {
         Matriz retorno = new Matriz(x, y);
         int    i       = 0;
         foreach (int r in matriz)
         {
             retorno.matriz[i] = matriz[i] - m.matriz[i];
             i++;
         }
         return(retorno);
     }
     else
     {
         return(null);
     }
 }
Example #4
0
        public Matriz multiplicacao(Matriz multiplicando)
        {
            if (this.y != multiplicando.x)
            {
                return(null);
            }
            Matriz retorno = new Matriz(this.x, multiplicando.y);

            for (int i = 0; i < this.x; i++)
            {
                for (int j = 0; j < multiplicando.y; j++)
                {
                    for (int z = 0; z < this.y; z++)
                    {
                        retorno.guardaPosicao(i, j, this.pegaPosicao(i, z) * multiplicando.pegaPosicao(z, j));
                    }
                }
            }

            return(retorno);
        }
Example #5
0
        public void b1_Click(Object Sender, EventArgs e)
        {
            Dezenheiro d = new Dezenheiro(g);

            d.dezenhaLinha(640, 0, 640, 719);
            d.dezenhaLinha(0, 360, 1279, 360);

            Matriz matriz = new Matriz(t1.Text);
            String matrizTextoTranslacao = "";

            switch (((Button)Sender).Text)
            {
            case "+":
                for (int i = 0; i < matriz.x; i++)
                {
                    matrizTextoTranslacao += t2.Text;
                }
                Matriz translacao = matriz.soma(new Matriz(matrizTextoTranslacao));
                d.dezenhaPoligono(matriz);
                d.dezenhaPoligono(translacao);
                t3.Text = translacao.ToString();
                break;

            case "*":
                Matriz escalar = matriz.ecalar(Double.Parse(t2.Text));
                d.dezenhaPoligono(matriz);
                d.dezenhaPoligono(escalar);
                t3.Text = escalar.ToString();
                break;

            case "r":
                Matriz rotacao = matriz.rotacao(Int32.Parse(t2.Text));
                d.dezenhaPoligono(matriz);
                d.dezenhaPoligono(rotacao);
                t3.Text = rotacao.ToString();
                break;
            }
        }