예제 #1
0
파일: Form1.cs 프로젝트: jroge-uagrm/PaintJ
        private void areaDibujo_MouseClick(object sender, MouseEventArgs e)
        {
            Refresh();
            Punto punto;

            switch (efecto)
            {
            case "trasladar":
                punto = new Punto(dibujador.x, dibujador.y, 1);
                dibujador.trasladarPoligono(punto);
                aviso.Text = "Poligono trasladado";
                if (grabando)
                {
                    dibujador.añadirACola(efecto, punto);
                    actualizarListaDeEfectos();
                }
                break;

            case "rotarPunto":
                punto = new Punto(dibujador.x, dibujador.y, 1);
                dibujador.setPuntoParaRotarPunto(punto);
                if (grabando)
                {
                    dibujador.añadirACola(efecto, punto);
                    actualizarListaDeEfectos();
                }
                break;

            case "escalarPunto":
                punto = new Punto(dibujador.x, dibujador.y, 1);
                dibujador.escalarPunto(punto);
                if (grabando)
                {
                    dibujador.añadirACola(efecto, punto);
                    actualizarListaDeEfectos();
                }
                break;

            case "reflexionRecta":
                if (dibujador.puntoReflexionRecta(false))
                {
                    modificarElementos(false, true, false, "1", "REFLEXION", "");
                }
                dibujador.pintar();
                break;

            default:
                if (!grabando && puedeDibujar && efecto.CompareTo("nada") == 0)
                {
                    dibujador.añadirPunto();
                }
                break;
            }
            if (dibujador.noEstaVacio())
            {
                dibujador.pintar();
            }
            if (efecto.CompareTo("rotarPunto") == 0)
            {
                aviso.Text = "Introducir grados a rotar :";
                modificarElementos(true, true, true, "", "ROTAR", "Sentido HORARIO");
            }
            else if (efecto.CompareTo("escalarPunto") == 0)
            {
                aviso.Text = "Introducir constante :";
                modificarElementos(true, true, true, "", "ESCALAR", "Veces mas Grande");
            }
            else if (efecto.CompareTo("reflexionRecta") != 0)
            {
                efecto = "nada";
                modificarElementos(false, false, false, "", "", "");
                desmarcarlistaDeEfectos();
            }
        }
예제 #2
0
 public void setPuntoReferenciaEnOrigen() => puntoReferencia = new Punto(0, 0, 1);
예제 #3
0
파일: Form1.cs 프로젝트: jroge-uagrm/PaintJ
        private void nuevoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            areaDibujo.Refresh();
            dibujador.nuevoObjeto(
                dondeDibujar(),
                tamañoHDondeDibujar(),
                tamañoVDondeDibujar());
            dibujador.pintarEje();
            listaDePoligonos.Items.Clear();
            listaDeEfectos.Items.Clear();
            puedeDibujar  = true;
            grabando      = false;
            timer.Enabled = false;
            aviso.Text    = "Puede empezar a dibujar";
            //ANIMACION
            listaDePoligonos.Items.Clear();
            listaDeEfectos.Items.Clear();
            puedeDibujar  = true;
            grabando      = false;
            timer.Enabled = false;
            aviso.Text    = "Puede empezar a dibujar";
            //CABEZA    (0)
            dibujador.objeto.añadirPunto(new Punto(-90, 50, 1));
            dibujador.objeto.añadirPunto(new Punto(-80, 50, 1));
            dibujador.objeto.añadirPunto(new Punto(-80, 40, 1));
            dibujador.objeto.añadirPunto(new Punto(-90, 40, 1));
            dibujador.objeto.añadirPunto(new Punto(-90, 50, 1));
            dibujador.terminarPoligono();
            dibujador.setNombre(0, "CABEZA");
            //CUERPO    (1)
            dibujador.objeto.añadirPunto(new Punto(-85, 40, 1));
            dibujador.objeto.añadirPunto(new Punto(-85, 20, 1));
            dibujador.terminarPoligono();
            dibujador.setNombre(1, "CUERPO");
            //PIERNA 1  (2)
            dibujador.objeto.añadirPunto(new Punto(-85, 20, 1));
            dibujador.objeto.añadirPunto(new Punto(-87, 11, 1));
            dibujador.terminarPoligono();
            dibujador.setNombre(2, "PIERNA 1");
            //PIE 1     (3)
            dibujador.objeto.añadirPunto(new Punto(-87, 11, 1));
            dibujador.objeto.añadirPunto(new Punto(-91, 3, 1));
            dibujador.objeto.añadirPunto(new Punto(-88, (float)1.5, 1));
            dibujador.terminarPoligono();
            dibujador.setNombre(3, "PIE 1");
            //PIERNA 2  (4)
            dibujador.objeto.añadirPunto(new Punto(-85, 20, 1));
            dibujador.objeto.añadirPunto(new Punto(-83, 11, 1));
            dibujador.terminarPoligono();
            dibujador.setNombre(4, "PIERNA 2");
            //PIE 2     (5)
            dibujador.objeto.añadirPunto(new Punto(-83, 11, 1));
            dibujador.objeto.añadirPunto(new Punto(-81, 1, 1));
            dibujador.objeto.añadirPunto(new Punto(-78, (float)1.5, 1));
            dibujador.terminarPoligono();
            dibujador.setNombre(5, "PIE 2");
            //BRAZO 1   (6)
            dibujador.objeto.añadirPunto(new Punto(-85, 35, 1));
            dibujador.objeto.añadirPunto(new Punto(-87, 26, 1));
            dibujador.objeto.añadirPunto(new Punto(-86, 21, 1));
            dibujador.terminarPoligono();
            dibujador.setNombre(6, "BRAZO 1");
            //BRAZO 2   (7)
            dibujador.objeto.añadirPunto(new Punto(-85, 35, 1));
            dibujador.objeto.añadirPunto(new Punto(-84, 25, 1));
            dibujador.objeto.añadirPunto(new Punto(-82, 21, 1));
            dibujador.terminarPoligono();
            dibujador.setNombre(07, "BRAZO 2");
            dibujador.pintar();
            actualizarListaDePoligonos();

            //BASE TERMINADA

            dibujador.nuevaListaDeEfectos();
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(0); dibujador.addIndice(1); dibujador.addIndice(2);
            dibujador.addIndice(4); dibujador.addIndice(6); dibujador.addIndice(7);
            Punto centro = dibujador.objeto.getCentroDeListas();

            //ROTAR PIE DELANTERO PARA ENRECTAR 1
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(5);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(5).listaDePuntos.ElementAt(1));
            dibujador.añadirACola("rotarPunto", -4);
            //ROTAR PIERNA DELANTERA PARA IGUALAR AL PIE DELANTERO 1
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(4);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(4).listaDePuntos.ElementAt(0));
            dibujador.añadirACola("rotarPunto", 3);
            //   MOVER 1
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(0); dibujador.addIndice(1); dibujador.addIndice(2);
            dibujador.addIndice(4); dibujador.addIndice(6); dibujador.addIndice(7);
            dibujador.añadirACola("trasladar", new Punto(centro.x + (float)0.1, centro.y - (float)0.1, 1));
            //ROTAR PIE TRASERO PARA AVANZAR 1
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(3);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(3).listaDePuntos.ElementAt(1));
            dibujador.añadirACola("rotarPunto", -3);
            //ROTAR PIERNA TRASERA PARA IGUALAR AL PIE TRASERO 1
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(2);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(2).listaDePuntos.ElementAt(0));
            dibujador.añadirACola("rotarPunto", 2);
            //ROTAR BRAZO TRASERO 1
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(6);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(6).listaDePuntos.ElementAt(0));
            dibujador.añadirACola("rotarPunto", (float)-0.5);
            //ROTAR BRAZO DELANTERO 1
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(7);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(7).listaDePuntos.ElementAt(0));
            dibujador.añadirACola("rotarPunto", 5);

            //ROTAR PIE DELANTERO PARA ENRECTAR 2
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(5);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(5).listaDePuntos.ElementAt(1));
            dibujador.añadirACola("rotarPunto", -4);
            //ROTAR PIERNA DELANTERA PARA IGUALAR AL PIE DELANTERO 2
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(4);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(4).listaDePuntos.ElementAt(0));
            dibujador.añadirACola("rotarPunto", 4);
            //   MOVER 2
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(0); dibujador.addIndice(1); dibujador.addIndice(2);
            dibujador.addIndice(4); dibujador.addIndice(6); dibujador.addIndice(7);
            dibujador.añadirACola("trasladar", new Punto(centro.x + (float)0.3, centro.y - (float)0.3, 1));
            //ROTAR PIE TRASERO PARA AVANZAR 2
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(3);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(3).listaDePuntos.ElementAt(1));
            dibujador.añadirACola("rotarPunto", -4);
            //ROTAR PIERNA TRASERA PARA IGUALAR AL PIE TRASERO 2
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(2);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(2).listaDePuntos.ElementAt(0));
            dibujador.añadirACola("rotarPunto", 2);
            //ROTAR BRAZO TRASERO 2
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(6);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(6).listaDePuntos.ElementAt(0));
            dibujador.añadirACola("rotarPunto", (float)-0.5);
            //ROTAR BRAZO DELANTERO 2
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(7);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(7).listaDePuntos.ElementAt(0));
            dibujador.añadirACola("rotarPunto", 5);

            //ROTAR PIE DELANTERO PARA ENRECTAR 3
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(5);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(5).listaDePuntos.ElementAt(1));
            dibujador.añadirACola("rotarPunto", -4);
            //ROTAR PIERNA DELANTERA PARA IGUALAR AL PIE DELANTERO 3
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(4);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(4).listaDePuntos.ElementAt(0));
            dibujador.añadirACola("rotarPunto", 3);
            //   MOVER 3
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(0); dibujador.addIndice(1); dibujador.addIndice(2);
            dibujador.addIndice(4); dibujador.addIndice(6); dibujador.addIndice(7);
            dibujador.añadirACola("trasladar", new Punto(centro.x + (float)0.5, centro.y - (float)0.5, 1));
            //ROTAR PIE TRASERO PARA AVANZAR 3
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(3);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(3).listaDePuntos.ElementAt(1));
            dibujador.añadirACola("rotarPunto", -3);
            //ROTAR PIERNA TRASERA PARA IGUALAR AL PIE TRASERO 3
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(2);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(2).listaDePuntos.ElementAt(0));
            dibujador.añadirACola("rotarPunto", 2);
            //ROTAR BRAZO TRASERO 3
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(6);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(6).listaDePuntos.ElementAt(0));
            dibujador.añadirACola("rotarPunto", (float)-0.5);
            //ROTAR BRAZO DELANTERO 3
            dibujador.nuevaListaDeIndices();
            dibujador.addIndice(7);
            dibujador.añadirACola("rotarPunto", dibujador.objeto.listaDePoligonos.ElementAt(7).listaDePuntos.ElementAt(0));
            dibujador.añadirACola("rotarPunto", 5);

            timer.Enabled = true; i = 1;
            actualizarListaDeEfectos();
        }
예제 #4
0
 public void setPuntoReferencia(Punto nuevoPuntoDeReferencia) => puntoReferencia = nuevoPuntoDeReferencia;
예제 #5
0
 public void añadirPunto(Punto punto) => listaDePuntos.AddLast(punto);
예제 #6
0
 public void escalarPunto(Punto punto) => objeto.escalarPunto(punto);
예제 #7
0
 public void setPuntoParaRotarPunto(Punto punto) => objeto.setPuntoParaRotarPunto(punto);
예제 #8
0
 public void trasladarPoligono(Punto puntoATrasladar)
 {
     objeto.trasladarPoligono(puntoATrasladar);
 }