예제 #1
0
        private void btnRampa_Click(object sender, RoutedEventArgs e)
        {
            double tiempoInicial      = double.Parse(txtTiempoInicial.Text);
            double tiempoFinal        = double.Parse(txtTiempoFinal.Text);
            double frecuenciaMuestreo = double.Parse(txtMuestreo.Text);

            Rampa Rampa = new Rampa();

            plnGrafica.Points.Clear();

            double periodoMuestreo = 1 / frecuenciaMuestreo;

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

                if (Math.Abs(valorMuestra) > Rampa.AmplitudMaxima)
                {
                    Rampa.AmplitudMaxima = Math.Abs(valorMuestra);
                }

                Rampa.Muestras.Add(new Muestra(i, valorMuestra));
            }


            //Recorrer una colección o arreglo
            //La variable muestra guarda cada elemento de la colección de: señal.Muestra
            foreach (Muestra muestra in Rampa.Muestras)
            {
                plnGrafica.Points.Add(new Point(muestra.X * Scroll.Width, (muestra.Y *
                                                                           ((Scroll.Height / 2)) - 30) * -1 + (Scroll.Height / 2)));
            }
        }
        private void Graficar_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(txtTiempo_Inicial.Text);
            double tiempofinal        = double.Parse(txtTiempo_Final.Text);
            double frecuenciamuestreo = double.Parse(txtFrecuenciaMuestreo.Text);
            /* senoidal = new SeñalSenoidal(amplitud, fase, frecuencia);*/
            /*SeñalParabolica parabolica = new SeñalParabolica();*/
            //SeñalSigno signo = new SeñalSigno();//
            Rampa  rampa           = new Rampa();
            double periodoMuestreo = 1.0 / frecuenciamuestreo;
            double amplitudMaxima  = 0.0;

            plnGrafica.Points.Clear();

            for (double i = tiempoinicial; i <= tiempofinal; i += periodoMuestreo)
            {
                double valorMuestra = rampa.evaluar(i);
                if (Math.Abs(valorMuestra) >= amplitudMaxima)
                {
                    amplitudMaxima = Math.Abs(valorMuestra);
                }
                Muestra muestra = new Muestra(i, valorMuestra);

                rampa.muestras.Add(muestra);
            }
            foreach (Muestra muestra1 in rampa.muestras)
            {
                plnGrafica.Points.Add(adaptarCoordenadas(muestra1.X, muestra1.Y, tiempoinicial, amplitudMaxima));
            }
            lblLimiteSuperior.Text = amplitudMaxima.ToString();
            lblLimiteInferior.Text = "-" + amplitudMaxima.ToString();
            pnlEjeX.Points.Clear();
            pnlEjeX.Points.Add(adaptarCoordenadas(tiempoinicial, 0.0, tiempoinicial, amplitudMaxima));
            pnlEjeX.Points.Add(adaptarCoordenadas(tiempofinal, 0.0, tiempoinicial, amplitudMaxima));
            pnlEjeY.Points.Clear();
            pnlEjeY.Points.Add(adaptarCoordenadas(0.0, amplitudMaxima, tiempoinicial, amplitudMaxima));
            pnlEjeY.Points.Add(adaptarCoordenadas(0.0, -amplitudMaxima, tiempoinicial, amplitudMaxima));
        }
예제 #3
0
        private void btnGraficarRampa_Click(object sender, RoutedEventArgs e)
        {
            double tiempoInicial      = double.Parse(txtTiempoInicial.Text);
            double tiempoFinal        = double.Parse(txtTiempoFinal.Text);
            double frecuenciaMuestreo = double.Parse(txtFrecuenciaMuestreo.Text);

            Rampa rampa = new Rampa();

            plnGrafica.Points.Clear();

            double periodoMuestro = 1 / frecuenciaMuestreo;

            for (double i = tiempoInicial; i <= tiempoFinal; i += periodoMuestro)
            {
                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)));
            }
        }