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(); } }
public void setPuntoReferenciaEnOrigen() => puntoReferencia = new Punto(0, 0, 1);
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(); }
public void setPuntoReferencia(Punto nuevoPuntoDeReferencia) => puntoReferencia = nuevoPuntoDeReferencia;
public void añadirPunto(Punto punto) => listaDePuntos.AddLast(punto);
public void escalarPunto(Punto punto) => objeto.escalarPunto(punto);
public void setPuntoParaRotarPunto(Punto punto) => objeto.setPuntoParaRotarPunto(punto);
public void trasladarPoligono(Punto puntoATrasladar) { objeto.trasladarPoligono(puntoATrasladar); }