/// <summary>
        /// Dibuja la curva que representa el perfil del terreno.
        /// </summary>
        /// <param name="puntos">Puntos de control</param>
        public static void DibujarTerreno2D(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 > 2)
            {
                CurvaBzierSegmentosCubicos curvaCamino = new CurvaBzierSegmentosCubicos(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);
            }
        }
Exemple #2
0
        public void CrearCamino()
        {
            // Se obtienen los puntos seleccionados por el usuario
            IList <PuntoFlotante> puntosPoligonoControlBzier = this.GetPuntosBzier();

            // Se escalan los puntos a las coordenadas de mundo, para poder controlar el paso de discretisación
            puntosPoligonoControlBzier = this.EscalarPuntosVentanitas(puntosPoligonoControlBzier, true);

            // Se crea la curva
            CurvaBzierSegmentosCubicos curva = new CurvaBzierSegmentosCubicos(puntosPoligonoControlBzier);

            // Se obtienen los puntos discretos de la curva
            this.puntosCamino = curva.GetPuntosDiscretos(0.01);
        }
Exemple #3
0
        public void CrearCamino()
        {
            // Se obtienen los puntos seleccionados por el usuario
            IList<PuntoFlotante> puntosPoligonoControlBzier = this.GetPuntosBzier();

            // Se escalan los puntos a las coordenadas de mundo, para poder controlar el paso de discretisación
            puntosPoligonoControlBzier = this.EscalarPuntosVentanitas(puntosPoligonoControlBzier, true);

            // Se crea la curva
            CurvaBzierSegmentosCubicos curva = new CurvaBzierSegmentosCubicos(puntosPoligonoControlBzier);

            // Se obtienen los puntos discretos de la curva
            this.puntosCamino = curva.GetPuntosDiscretos(0.01);
        }