// Formatowanie wyniku do jednej z trzech postaci
        private void ScoreDisplayF(List <LiczbaZespolona> list)
        {
            RooTofComplex   complex = new RooTofComplex();
            StringBuilder   builder = new StringBuilder();
            LiczbaZespolona z1      = new LiczbaZespolona((double)userControlLiczbaZespolonaZ1.Re, (double)userControlLiczbaZespolonaZ1.Im);

            if (TrigonometryChecked)
            {
                scoreDisplay1.TextBoxScoreText = "";
                for (int i = 0; i < list.Count; i++)
                {
                    builder.AppendLine("W" + i + " = " + complex.Trigon(list[i], z1, Convert.ToDouble(1 / numericUpDownRoot.Value)));
                }
            }
            else if (CoordinatesChecked)
            {
                scoreDisplay1.TextBoxScoreText = "";
                for (int i = 0; i < list.Count; i++)
                {
                    builder.AppendLine("W" + i + " = " + list[i].ToString());
                }
            }
            else if (CannonicChecked)
            {
                scoreDisplay1.TextBoxScoreText = "";
                for (int i = 0; i < list.Count; i++)
                {
                    builder.AppendLine("W" + i + " = " + complex.Canonic(list[i]));
                }
            }
            scoreDisplay1.TextBoxScoreText = builder.ToString();
        }
 // pełni dwie funkcje - dodawanie w op. artymetycznych i pierwiastkowanie
 private void ButtonDodaj_Click(object sender, EventArgs e)
 {
     if (userControlOprationType.IsOn1 == true && userControlOprationType.IsOn2 == false)
     {
         LiczbaZespolona z1 = new LiczbaZespolona((double)userControlLiczbaZespolonaZ1.Re, (double)userControlLiczbaZespolonaZ1.Im);
         LiczbaZespolona z2 = new LiczbaZespolona((double)userControlLiczbaZespolonaZ2.Re, (double)userControlLiczbaZespolonaZ2.Im);
         zespolonas.Clear();
         zespolonas.Add(z1 + z2);
         ScoreDisplayF(zespolonas);
         userControlVectorChart1.FillChartElemOp(z1, z2, zespolonas[0]);
     }
     else if (userControlOprationType.IsOn1 == false && userControlOprationType.IsOn2 == true)
     {
         LiczbaZespolona z1            = new LiczbaZespolona((double)userControlLiczbaZespolonaZ1.Re, (double)userControlLiczbaZespolonaZ1.Im);
         RooTofComplex   rooTofComplex = new RooTofComplex();
         int             root          = (int)numericUpDownRoot.Value;
         zespolonas.Clear();
         for (int i = 0; i < root; i++)
         {
             zespolonas.Add(rooTofComplex.Rownanie(z1, root, i));
         }
         ScoreDisplayF(zespolonas);
         userControlVectorChart1.FillChartRotOp(zespolonas);
     }
 }
Exemplo n.º 3
0
        // liczba zespolona, współczynnik potęgi n, dla k=0,1,...,n-1
        public LiczbaZespolona Rownanie(LiczbaZespolona liczba, int n, int k)
        {
            LiczbaZespolona z  = new LiczbaZespolona();
            double          fi = Math.PI * Fi(liczba) / 180;

            z.Re = Math.Round(Math.Cos((fi + (2 * k * Math.PI)) / n), 4);
            z.Im = Math.Round(Math.Sin((fi + (2 * k * Math.PI)) / n), 4);
            return(z);
        }
        private void buttonOdejmnij_Click(object sender, EventArgs e)
        {
            LiczbaZespolona z1 = new LiczbaZespolona((double)userControlLiczbaZespolonaZ1.Re, (double)userControlLiczbaZespolonaZ1.Im);
            LiczbaZespolona z2 = new LiczbaZespolona((double)userControlLiczbaZespolonaZ2.Re, (double)userControlLiczbaZespolonaZ2.Im);

            zespolonas.Clear();
            zespolonas.Add(z1 - z2);
            ScoreDisplayF(zespolonas);
            userControlVectorChart1.FillChartElemOp(z1, z2, zespolonas[0]);
        }
Exemplo n.º 5
0
 public string Canonic(LiczbaZespolona liczba)
 {
     if (liczba.Im < 0)
     {
         return(liczba.Re.ToString("F4") + " - " + (liczba.Im * (-1)).ToString("F4") + " i");
     }
     else
     {
         return(liczba.Re.ToString("F4") + " + " + liczba.Im.ToString("F4") + " i");
     }
 }
        private void buttonDziel_Click(object sender, EventArgs e)
        {
            LiczbaZespolona z1 = new LiczbaZespolona((double)userControlLiczbaZespolonaZ1.Re, (double)userControlLiczbaZespolonaZ1.Im);
            LiczbaZespolona z2 = new LiczbaZespolona((double)userControlLiczbaZespolonaZ2.Re, (double)userControlLiczbaZespolonaZ2.Im);

            zespolonas.Clear();
            zespolonas.Add(z1 / z2);
            ScoreDisplayF(zespolonas);
            if ((Math.Pow(z2.Re, 2) + Math.Pow(z2.Im, 2)) != 0)
            {
                userControlVectorChart1.FillChartElemOp(z1, z2, zespolonas[0]);
            }
        }
        // Czyszczenie formatki - funkcja
        private void ClearWhole()
        {
            userControlLiczbaZespolonaZ1.Re = 0;
            userControlLiczbaZespolonaZ1.Im = 0;
            userControlLiczbaZespolonaZ2.Re = 0;
            userControlLiczbaZespolonaZ2.Im = 0;
            numericUpDownRoot.Value         = 2;

            LiczbaZespolona z1 = new LiczbaZespolona((double)userControlLiczbaZespolonaZ1.Re, (double)userControlLiczbaZespolonaZ1.Im);
            LiczbaZespolona z2 = new LiczbaZespolona((double)userControlLiczbaZespolonaZ2.Re, (double)userControlLiczbaZespolonaZ2.Im);
            LiczbaZespolona z3 = new LiczbaZespolona((double)userControlLiczbaZespolonaZ2.Re, (double)userControlLiczbaZespolonaZ2.Im);

            userControlVectorChart1.FillChartElemOp(z1, z2, z3);
            zespolonas.Clear();
        }
Exemplo n.º 8
0
        private float Fi(LiczbaZespolona liczba) // argument liczby z
        {
            float  fi    = 0;
            double cosFi = liczba.Re / ModulZ(liczba);
            double sinFi = liczba.Im / ModulZ(liczba);

            fi = (float)(Math.Asin(sinFi) * (180 / Math.PI));
            if (cosFi < 0)
            {
                if (sinFi > 0)
                {
                    fi = 180 - fi;
                }
                else
                {
                    fi = -fi - 180;
                }
            }
            return(fi);
        }
Exemplo n.º 9
0
 public string Trigon(LiczbaZespolona liczba, LiczbaZespolona zespolona, double n)
 {
     return(ModulZ(zespolona, n) + " (cos " + Fi(liczba).ToString("F2") + " + i sin " + Fi(liczba).ToString("F2") + ")");
 }
Exemplo n.º 10
0
 private double ModulZ(LiczbaZespolona liczba, double n = 1) // moduł liczby z
 {
     return(Math.Pow(Math.Sqrt(Convert.ToDouble((liczba.Im * liczba.Im) + (liczba.Re * liczba.Re))), n));
 }