예제 #1
0
        private void btnGraficarRampa_Click(object sender, RoutedEventArgs e)
        {
            //tomar valores
            double tiempoInicial      = double.Parse(txtTiempoInicial.Text);
            double tiempoFinal        = double.Parse(txtTiempoFinal.Text);
            double frecuenciaMuestreo = double.Parse(txtFrecuenciaMuestreo.Text);

            //instancia
            SeñalRampa señal = new SeñalRampa();

            //calcular periodomuestreo
            double periodoMuestreo = 1 / frecuenciaMuestreo;

            //limpiar puntos
            plnGrafica.Points.Clear();

            //ciclo para conseguir las muestras
            for (double i = tiempoInicial; i <= tiempoFinal; i += periodoMuestreo)
            {
                double valorMuestra = señal.evaluar(i);
                señal.Muestras.Add(new Muestra(i, valorMuestra));

                //se van añadiendo las muestras a las listas
                señal.Muestras.Add(new Muestra(i, valorMuestra));
            }

            //ciclo para recorrer muestras
            foreach (Muestra muestra in señal.Muestras)
            {
                //se evalua la señal, luego se ajusta y de ahi se agrega el punto
                plnGrafica.Points.Add(new Point(muestra.X * scrContenedor.Width, (muestra.Y * ((scrContenedor.Height / 2) - 30) * -1) + (scrContenedor.Height / 2)));
            }
        }
        private void btnGraficarRampa_Click(object sender, RoutedEventArgs e)
        {
            //todas las señales ocupan estas 3
            double tiempoInicial =
                double.Parse(txtTiempoInicial.Text);
            double tiempoFinal =
                double.Parse(txtTiempoFinal.Text);
            double frecuenciaMuestreo =
                double.Parse(txtFrecuenciaMuestreo.Text);

            SeñalRampa señal =
                new SeñalRampa();

            double periodoMuestreo = 1 / frecuenciaMuestreo;

            plnGrafica.Points.Clear();

            for (double i = tiempoInicial; i <= tiempoFinal; i += periodoMuestreo)
            {
                double valorMuestra = señal.evaluar(i);

                señal.Muestras.Add(new Muestra(i, valorMuestra));
                //Recorrer una  coleccion o arreglo Aqui se agregan los puntos
            }
            //Recorrer una  coleccion o arreglo Aqui se agregan los puntos
            foreach (Muestra muestra in señal.Muestras)
            {
                plnGrafica.Points.Add(new Point(muestra.X * scrContenedor.Width, (muestra.Y * ((scrContenedor.Height / 2.0) - 30) * -1)
                                                + (scrContenedor.Height / 2)));
            }
        }
예제 #3
0
        private void btnGrficarRampa_Click(object sender, RoutedEventArgs e)
        {
            double tiempoInicial      = double.Parse(txtTiempoInicial.Text);
            double tiempoFinal        = double.Parse(txtTiempoFinal.Text);
            double frecuenciaMuestreo = double.Parse(txtFrecuenciaMuestreo.Text);


            SeñalRampa señal = new SeñalRampa();

            double periodoMuestreo = 1 / frecuenciaMuestreo;

            plnGrafica.Points.Clear(); //borra los puntos

            for (double i = tiempoInicial; i <= tiempoFinal; i += periodoMuestreo)
            {
                double valorMuestra = señal.evaluar(i);

                señal.Muestras.Add(new Muestra(i, valorMuestra));
            }

            foreach (Muestra muestra in señal.Muestras)
            {
                plnGrafica.Points.Add(new Point(muestra.X * scrContenedor.Width,
                                                muestra.Y * (((scrContenedor.Height / 2.0) - 30) * -1) + (scrContenedor.Height / 2)));
            }
        }
예제 #4
0
        private void btnGraficarRampa_Click(object sender, RoutedEventArgs e)
        {
            double tiempoInicial = double.Parse(txtTiempoInicial.Text);
            double tiempoFinal   = double.Parse(txtTiempoFinal.Text);
            double umbral        = double.Parse(txtUmbral.Text);

            SeñalRampa rampa = new SeñalRampa(tiempoInicial, tiempoFinal, umbral);

            plnGrafica.Points.Clear();

            for (double i = tiempoInicial; i <= tiempoFinal; i++)
            {
                double valorMuestra = rampa.evaluar(i);
                rampa.Muestras.Add(new Muestra(i, valorMuestra));
            }

            foreach (Muestra muestra in rampa.Muestras)
            {
                plnGrafica.Points.Add(new Point(muestra.X * scrContenedor.Width, (muestra.Y *
                                                                                  ((scrContenedor.Height / 2.0) - 30) * -1) + (scrContenedor.Height / 2)));
            }
        }
        private void BtnGraficar_Click(object sender, RoutedEventArgs e)
        {
            double amplitud =
                double.Parse(txtAmplitud.Text);
            double fase =
                double.Parse(txtFase.Text);
            double frecuencia =
                double.Parse(txtFrecuencia.Text);
            double tiempoInicial =
                double.Parse(txtTiempoInicial.Text);
            double tiempoFinal =
                double.Parse(txtTiempoFinal.Text);
            double frecuenciaMuestreo =
                double.Parse(txtFrecuenciaMuestreo.Text);

            /*SeñalSenoidal señal =
             *  new SeñalSenoidal(amplitud,
             *  fase, frecuencia);*/
            /*SeñalParabolica señal =
             *  new SeñalParabolica();*/

            SeñalRampa señal =
                new SeñalRampa();

            double periodoMuestreo =
                1.0 / frecuenciaMuestreo;

            double amplitudMaxima = 0.0;

            plnGrafica.Points.Clear();

            for (double i = tiempoInicial;
                 i <= tiempoFinal;
                 i += periodoMuestreo)
            {
                double valorMuestra = señal.evaluar(i);
                if (Math.Abs(valorMuestra) > amplitudMaxima)
                {
                    amplitudMaxima = Math.Abs(valorMuestra);
                }
                Muestra muestra =
                    new Muestra(i, valorMuestra);
                señal.Muestras.Add(muestra);
            }

            foreach (Muestra muestra in señal.Muestras)
            {
                plnGrafica.Points.Add(
                    adaptarCoordenadas(muestra.X,
                                       muestra.Y, tiempoInicial, amplitudMaxima)
                    );
            }


            lblLimiteSuperior.Text =
                amplitudMaxima.ToString();
            lblLimiteInferior.Text =
                "-" + amplitudMaxima.ToString();

            plnEjeX.Points.Clear();
            plnEjeX.Points.Add(
                adaptarCoordenadas(tiempoInicial, 0.0,
                                   tiempoInicial, amplitudMaxima)
                );
            plnEjeX.Points.Add(
                adaptarCoordenadas(tiempoFinal, 0.0, tiempoInicial,
                                   amplitudMaxima)
                );

            plnEjeY.Points.Clear();
            plnEjeY.Points.Add(
                adaptarCoordenadas(0.0, amplitudMaxima,
                                   tiempoInicial, amplitudMaxima));
            plnEjeY.Points.Add(
                adaptarCoordenadas(0.0, -amplitudMaxima,
                                   tiempoInicial, amplitudMaxima));
        }