/// <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);
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }