/// <summary> /// Dibuja la curva correspondiente a la trayectoria de la camara. La misma /// se encuentra definida por los puntos de control indicados por parámetros. /// </summary> /// <param name="puntos">Puntos de control</param> public static void DibujarCamaraPath(IList<PuntoFlotante> puntos) { // Dibujo el lazo punteado que une los puntos. PlotHelper.DibujarLazoPunteado(puntos); // Dibujo los puntos para denotar su ubicación. foreach (PuntoFlotante punto in puntos) { PlotHelper.DibujarPunto(punto); } // Dibujo la curva que se forma a partir de los puntos. if (puntos.Count > 3) { CurvaBsplineSegmentosCubicos curvaCamino = new CurvaBsplineSegmentosCubicos(puntos); Gl.glDisable(Gl.GL_LIGHTING); Gl.glBegin(Gl.GL_LINE_STRIP); Gl.glPushMatrix(); Gl.glColor3d(0.5, 0.5, 0); foreach (PuntoFlotante punto in curvaCamino.GetPuntosDiscretos(0.001)) { Gl.glVertex2d(punto.X, punto.Y); } Gl.glPopMatrix(); Gl.glEnd(); Gl.glEnable(Gl.GL_LIGHTING); Gl.glColor3d(1, 1, 1); } }
public void CrearRecorridoCamara() { // Se obtienen los puntos ingresados por el usuario escalados a las coordenadas de la escena IList <PuntoFlotante> puntosCamara = this.GetPuntosBsplineEscalados(); // Se crea la curva Bspline CurvaBsplineSegmentosCubicos curva = new CurvaBsplineSegmentosCubicos(puntosCamara); // Se devuelven los puntos discretos de la curva bspline this.puntosRecorridoCamara = curva.GetPuntosDiscretos(0.001); }
public void CrearRecorridoCamara() { // Se obtienen los puntos ingresados por el usuario escalados a las coordenadas de la escena IList<PuntoFlotante> puntosCamara = this.GetPuntosBsplineEscalados(); // Se crea la curva Bspline CurvaBsplineSegmentosCubicos curva = new CurvaBsplineSegmentosCubicos(puntosCamara); // Se devuelven los puntos discretos de la curva bspline this.puntosRecorridoCamara = curva.GetPuntosDiscretos(0.001); }