Beispiel #1
0
        public override void Cargar(object sender, EventArgs e)
        {
            if (directa)
            {
                btDefecto.Hide();
            }

            this.Text = "Módulo y argumento de números complejos";

            lbExplicacion.Show();
            lbExplicacion.Text = "Introduzca la parte real e imaginaria del número complejo.\n\nO pulse el botón [E] para ejemplo con valores por defecto.";

            grafica = new Espacio2D(750, 600, new Point(10, lbExplicacion.Height + 15));
            Controls.Add(grafica.Ventana);
            grafica.Ventana.Hide();

            EtiquetaFilas.Show();
            EtiquetaFilas.Text     = "Parte real:";
            EtiquetaFilas.Location = new Point(grafica.Ventana.Location.X + grafica.Ventana.Width + 5, grafica.Ventana.Location.Y);
            EtiquetaFilas.AutoSize = true;

            EtiquetaColumnas.Show();
            EtiquetaColumnas.Location = new Point(EtiquetaFilas.Location.X, EtiquetaFilas.Location.Y + EtiquetaFilas.Height + 5);
            EtiquetaColumnas.Text     = "Parte imaginaria:";
            EtiquetaColumnas.AutoSize = true;

            tbcolumnas.Show();
            tbcolumnas.Location  = new Point(EtiquetaColumnas.Location.X + EtiquetaColumnas.Width + 5, EtiquetaColumnas.Location.Y);
            tbcolumnas.KeyPress += Cajas_KeyPress;

            tbFilas.Show();
            tbFilas.Location  = new Point(tbcolumnas.Location.X, EtiquetaFilas.Location.Y);
            tbFilas.KeyPress += Cajas_KeyPress;

            btDefecto.Location = new Point(tbFilas.Location.X + tbFilas.Width + 10, tbFilas.Location.Y - 2);
        }
Beispiel #2
0
 private void btContinuar_Click(object sender, EventArgs e)
 {
     if (paso == 0)
     {
         indicesrojos = new List <int>();
         if (!directa)
         {
             lbExplicacion.Text = "El número imaginario unidad es √-1 y se indica como 'i'. Un número imaginario de coeficiente distinto a la unidad, se indica 'ci' donde c es un número real que es el coeficiente. Tambien se puede expresar en combinación con un número real con la forma: a + ci , donde 'a' y 'c' son números reales, en estos casos se denominan: numeros complejos.\nEl cuadrado del imaginario unidad, es -1.";
         }
         else if (directa)
         {
             lbExplicacion.Text += "\nEl número imaginario unidad es √-1 y se indica como 'i'. Un número imaginario de coeficiente distinto a la unidad, se indica 'ci' donde c es un número real que es el coeficiente. Tambien se puede expresar en combinación con un número real con la forma: a + ci , donde 'a' y 'c' son números reales, en estos casos se denominan: numeros complejos.\nEl cuadrado del imaginario unidad, es -1.";
         }
         rtbExplicaciones.Text = "i: Número imaginario unidad igual a la raiz de -1 ";
         indicesrojos.Add(0);
         indicesrojos.Add(1);
         indicesrojos.Add(rtbExplicaciones.Text.Length);
         rtbExplicaciones.Text += "\n\n2i:  √(-4) = √(4 * -1) = 2√(-1) = 2i Imaginario puro";
         indicesrojos.Add(4);
         indicesrojos.Add(rtbExplicaciones.Text.Length);
         rtbExplicaciones.Text += "\n\n15+2i: Combinacion de un número real (15) más un imaginario (2i). Número complejo.";
         indicesrojos.Add(7);
         indicesrojos.Add(rtbExplicaciones.Text.Length);
         rtbExplicaciones.Text += "\n\ni^2 = -1";
         indicesrojos.Add(5);
         for (int i = 0; i < indicesrojos.Count; i += 2)
         {
             rtbExplicaciones.Select(indicesrojos[i], indicesrojos[i + 1]);
             rtbExplicaciones.SelectionColor = Color.Red;
             rtbExplicaciones.SelectionFont  = new Font("Dejavu Sans", 14, FontStyle.Bold);
         }
         paso++;
     }
     else if (paso == 1)
     {
         if (!directa)
         {
             lbExplicacion.Text = "Un número complejo se puede representar gráficamente, considerando la parte real como el valor de las abcisas ( eje X ), y el coeficiente imaginario como valor de las ordenadas ( eje Y ).\nEn el ejemplo, se puede ver la representación gráfica del complejo: 5 + 9i ";
         }
         else if (directa)
         {
             lbExplicacion.Text += "\nUn número complejo se puede representar gráficamente, considerando la parte real como el valor de las abcisas ( eje X ), y el coeficiente imaginario como valor de las ordenadas ( eje Y ).\nEn el ejemplo, se puede ver la representación gráfica del complejo: 5 + 9i ";
         }
         EtiquetaFilas.Show();
         EtiquetaFilas.Location = new Point(btContinuar.Location.X, btContinuar.Location.Y + btContinuar.Height + 5);
         EtiquetaFilas.Text     = "Parte real:";
         EtiquetaFilas.AutoSize = true;
         tbFilas.Show();
         tbFilas.Location  = new Point(EtiquetaFilas.Location.X, EtiquetaFilas.Location.Y + EtiquetaFilas.Height + 5);
         tbFilas.Width     = EtiquetaFilas.Width;
         tbFilas.Text      = "5";
         tbFilas.KeyPress += Cajas_KeyPress;
         tbFilas.TextAlign = HorizontalAlignment.Center;
         label2.Show();
         label2.BackColor = Color.Transparent;
         label2.Location  = new Point(tbFilas.Location.X + tbFilas.Width + 5, tbFilas.Location.Y);
         label2.Font      = EtiquetaFilas.Font;
         label2.Text      = "+";
         label2.Width     = 3;
         label2.TextAlign = ContentAlignment.MiddleCenter;
         EtiquetaColumnas.Show();
         EtiquetaColumnas.Location = new Point(label2.Location.X + label2.Width + 5, EtiquetaFilas.Location.Y);
         EtiquetaColumnas.Text     = "Parte imaginaria";
         EtiquetaColumnas.AutoSize = true;
         tbcolumnas.Show();
         tbcolumnas.Location  = new Point(EtiquetaColumnas.Location.X, tbFilas.Location.Y);
         tbcolumnas.Width     = EtiquetaColumnas.Width;
         tbcolumnas.Text      = "9";
         tbcolumnas.TextAlign = HorizontalAlignment.Center;
         tbcolumnas.KeyPress += Cajas_KeyPress;
         imaginario           = new Imaginario(5, 9);
         label1.Show();
         label1.BackColor = Color.Transparent;
         label1.Font      = EtiquetaFilas.Font;
         label1.Location  = new Point(tbcolumnas.Location.X + tbcolumnas.Width + 5, tbcolumnas.Location.Y);
         label1.Text      = "i";
         if (!directa)
         {
             grafica = new Espacio2D(750, 600, new Point(10, lbExplicacion.Height + 5));
         }
         else if (directa)
         {
             grafica = new Espacio2D(750, 600, new Point(10, lbExplicacion.Height + 10));
         }
         Controls.Add(grafica.Ventana);
         pnZoom.Show();
         pnZoom.Location = new Point(tbFilas.Location.X, tbFilas.Location.Y + tbFilas.Height + 5);
         btAbajo.Show();
         btAbajo.Click += MoverAbajo;
         btArriba.Show();
         btArriba.Click += MoverArriba;
         btDerecha.Show();
         btDerecha.Click += MoverDerecha;
         btIzquierda.Show();
         btIzquierda.Click += MoverIzquierda;
         btCentrar.Show();
         btCentrar.Click += Centrar;
         btZoomMas.Show();
         btZoomMas.Click += ZoomMas;
         btZoomMenos.Show();
         btZoomMenos.Click += ZoomMenos;
         lbDesplazamiento.Show();
         lbZoomtitulo.Show();
         radioButton1.Show();
         radioButton1.Location = new Point(rtbExplicaciones.Location.X, rtbExplicaciones.Location.Y - 30);
         radioButton2.Show();
         radioButton2.Text     = "Escala Decimal.";
         radioButton1.Text     = "Escala Racional";
         radioButton2.Location = new Point(radioButton1.Location.X + radioButton1.Width + 5, radioButton1.Location.Y);
         if (!directa)
         {
             grafica.PintarLinea(new Punto(new Racional[] { new Racional(0, 1), new Racional(0, 1) }), new Punto(new Racional[] { imaginario.ParteReal, imaginario.ParteImaginaria }), Color.Red, 3, true);
         }
         paso++;
     }
     else if (!directa && paso == 2)
     {
         lbExplicacion.Text = "Introduzca los valores de cualquier imaginario, con coeficientes enteros o racionales, para ver su representacion grafica.";
         tbFilas.Focus();
         tbFilas.SelectAll();
         grafica.PintarLinea(new Punto(new Racional[] { new Racional(0, 1), new Racional(0, 1) }), new Punto(new Racional[] { imaginario.ParteReal, imaginario.ParteImaginaria }), Color.Red, 3, true);
         grafica.Ventana.Invalidate();
         btContinuar.BackColor = Color.SeaGreen;
         btContinuar.Text      = "";
         btContinuar.Size      = new Size(0, 0);
     }
     else if (directa && paso >= 2)
     {
         if (paso > 2)
         {
             grafica.PintarLinea(new Punto(new Racional[] { new Racional(0, 1), new Racional(0, 1) }), new Punto(new Racional[] { imaginario.ParteReal, imaginario.ParteImaginaria }), Color.Red, 3, true);
             grafica.Ventana.Invalidate();
         }
         else if (paso == 2)
         {
             lbExplicacion.Text += "\nIntroduzca los valores de cualquier imaginario, con coeficientes enteros o racionales, para ver su representacion grafica.";
         }
         tbFilas.ResetText();
         tbcolumnas.ResetText();
         label2.Text = "";
         tbFilas.Focus();
         paso++;
     }
 }