Example #1
0
        private void BuildPolyHarmGraph(object sender, EventArgs e)
        {
            signal = (Signal)comboBoxSignalType.SelectedIndex;
            try
            {
                chart1.Series.Remove(DataSer);
            }
            finally
            {
                for (int i = 0; i <= 14; i++)
                {
                    if (comboBox5.SelectedIndex * 3 == i)
                    {
                        phc[i] = (double)trackBar1.Value;
                    }
                    if (comboBox5.SelectedIndex * 3 + 1 == i)
                    {
                        phc[i] = (double)trackBar3.Value;
                    }
                    if (comboBox5.SelectedIndex * 3 + 2 == i)
                    {
                        phc[i] = (double)trackBar2.Value;
                    }

                    // lbLst[i].Text = Convert.ToString(trLst[i].Value);
                    //phc[i] = trLst[i].Value;
                }
                label4.Text = Convert.ToString(trackBar2.Value);
                label5.Text = Convert.ToString(trackBar3.Value);
                label6.Text = Convert.ToString(trackBar1.Value);

                DataSer           = new System.Windows.Forms.DataVisualization.Charting.Series();
                HarS              = new System.Windows.Forms.DataVisualization.Charting.Legend();
                DataSer.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;
                DataSer.Color     = Color.Red;
                HarS.Name         = "Harmonic signal";
                HarS.Title        = "Harmonic signal";

                double Q = 0.5;

                IWaveForm[] arrWaves = new IWaveForm[5];

                for (int i = 0; i < 5; i++)
                {
                    switch (signal)
                    {
                    case Signal.syn:
                    {
                        arrWaves[i] = new SynForm(phc[i * 3 + 2], phc[i * 3 + 1], phc[i * 3]);
                        break;
                    }

                    case Signal.rectangle:
                    {
                        arrWaves[i] = new RectangleForm(phc[i * 3 + 2], phc[i * 3 + 1], phc[i * 3], Q);
                        break;
                    }

                    case Signal.triangle:
                    {
                        arrWaves[i] = new TriangleForm(phc[i * 3 + 2], phc[i * 3 + 1], phc[i * 3]);
                        break;
                    }

                    default:
                    {
                        arrWaves[i] = new SawForm(phc[i * 3 + 2], phc[i * 3 + 1], phc[i * 3]);
                        break;
                    }
                    }
                }

                double t = 0;
                int    N = 1024;

                if (signal == Signal.rectangle)
                {
                    DataSer.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StepLine;
                }


                for (int n = 1; n <= N - 1; n++)
                {
                    //создать 5 объектов с разеными параметрами и по очерелди их перебиратьъ

                    double res = 0;
                    //res = WaveBase.GetPointsForWave(N, n, noize ? NoizeStep : 0);
                    for (int k = 0; k < 5; k++)
                    {
                        // tarrWaves[0].Amplitude
                        t = arrWaves[k].GetPointsForWave(N, n, noize ? NoizeStep : 0);
                        //t= (phc[k*3 + 2]) * Math.Sin(2 * Math.PI * (phc[k*3 + 1]) * n / N + (double)(phc[k*3]) / 180 * Math.PI);
                        // double t = (3 * phc[k * 3 + 2]) * Math.Sin(2 * Math.PI * (3 * phc[k * 3 + 1]) * n / N + (double)(3 * phc[k * 3]) / 180 * Math.PI);
                        res += t;
                    }
                    if (signal == Signal.rectangle)
                    {
                        DataSer.Points.AddXY((double)n / N, res);
                    }
                    else
                    {
                        DataSer.Points.AddXY(n, res);
                    }
                }
            }
            chart1.ResetAutoValues();
            chart1.Series.Add(DataSer);
        }
Example #2
0
        private void BuildHarmGraph()
        {
            signal = (Signal)comboBoxSignalType.SelectedIndex;
            try
            {
                chart1.Series.Remove(DataSer);
            }
            finally
            {
                DataSer           = new System.Windows.Forms.DataVisualization.Charting.Series();
                HarS              = new System.Windows.Forms.DataVisualization.Charting.Legend();
                DataSer.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;
                DataSer.Color     = Color.Red;
                HarS.Name         = "Harmonic signal";
                HarS.Title        = "Harmonic signal";
                //chart1.Legends.Add(HarS);
                int N = 1024;
                A   = (double)trackBar2.Value;
                f   = (double)trackBar3.Value;
                phi = (double)trackBar1.Value;
                double Q = 0.25;
                label4.Text = Convert.ToString(trackBar2.Value);
                label5.Text = Convert.ToString(trackBar3.Value);
                label6.Text = Convert.ToString(trackBar1.Value);
                if (signal == Signal.rectangle)
                {
                    DataSer.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.StepLine;
                }

                IWaveForm instance = null;

                switch (signal)
                {
                case Signal.syn:
                {
                    instance = new SynForm(A, f, phi);
                    break;
                }

                case Signal.rectangle:
                {
                    instance = new RectangleForm(A, f, phi, Q);
                    break;
                }

                case Signal.triangle:
                {
                    instance = new TriangleForm(A, f, phi);
                    break;
                }

                case Signal.saw:
                {
                    instance = new SawForm(A, f, phi);
                    break;
                }
                }
                for (int n = 1; n <= N - 1; n++)
                {
                    switch (signal)
                    {
                    case Signal.rectangle:
                    {
                        DataSer.Points.AddXY((double)n / N, instance.GetPointsForWave(N, n, noize ? NoizeStep : 0));
                        break;
                    }

                    default:
                    {
                        DataSer.Points.AddXY(n, instance.GetPointsForWave(N, n, noize ? NoizeStep : 0));
                        break;
                    }
                    }
                }
            }
            chart1.ResetAutoValues();
            chart1.Series.Add(DataSer);
        }
Example #3
0
        private void AddForm(string addForm)
        {
            switch (addForm)
            {
            case "login":
                panel1.Controls.Clear();
                Login l = new Login(userType);
                panel1.Controls.Add(l);
                break;

            case "MainForm":
                panel1.Controls.Clear();
                MainInfor mi = new MainInfor(userType);
                panel1.Controls.Add(mi);
                break;

            case "Label_Syn":
                panel1.Controls.Clear();
                SynForm syn = new SynForm(userType);
                panel1.Controls.Add(syn);
                break;

            case "Label_Checking":
                panel1.Controls.Clear();
                RevpreForm RF = new RevpreForm(userType);
                panel1.Controls.Add(RF);
                break;

            case "Label_Batch":
                panel1.Controls.Clear();
                BatchForm bf = new BatchForm(userType);
                panel1.Controls.Add(bf);
                break;

            case "Label_print":
                panel1.Controls.Clear();
                PrintForm pf = new PrintForm(userType);
                panel1.Controls.Add(pf);
                break;

            case "Label_Check":
                panel1.Controls.Clear();
                LabelCheck lc = new LabelCheck(userType);
                panel1.Controls.Add(lc);
                break;

            case "Label_Tool":
                panel1.Controls.Clear();
                ToolForm tf = new ToolForm(userType);
                panel1.Controls.Add(tf);
                break;

            case "BatchRule":
                panel1.Controls.Clear();
                BatchRule br = new BatchRule(userType);
                panel1.Controls.Add(br);
                break;

            case "DrugHelp":
                panel1.Controls.Clear();
                DrugHelp dh = new DrugHelp(userType);
                panel1.Controls.Add(dh);
                break;

            case "DwardHelp":
                panel1.Controls.Clear();
                DwardHelp ddh = new DwardHelp(userType);
                panel1.Controls.Add(ddh);
                break;

            case "BaiYaoCheck":
                panel1.Controls.Clear();
                BaiYao BY = new BaiYao(userType);
                panel1.Controls.Add(BY);
                break;

            case "PaiYaoCheck":
                panel1.Controls.Clear();
                QiTa QT = new QiTa(userType);
                panel1.Controls.Add(QT);
                break;

            //case "CheckForm":
            //    ChangeColor(label15.Text);
            //    panel1.Controls.Clear();
            //    LabelCheck lc = new LabelCheck();
            //    panel1.Controls.Add(lc);
            //    break;
            //case "ScanPreForm":
            //    ChangeColor(label7.Text);
            //    panel1.Controls.Clear();
            //    ScanPre spe = new ScanPre();
            //    panel1.Controls.Add(spe);
            //    break;
            //case "LabelCXForm":
            //    ChangeColor(label8.Text);
            //    panel1.Controls.Clear();
            //    LabelCX lcx = new LabelCX();
            //    panel1.Controls.Add(lcx);
            //    break;
            //case "ToolsForm":
            //    ChangeColor(label5.Text);
            //    Tool t = new Tool();
            //    panel1.Controls.Add(t);
            //    break;
            //case "ProblemForm":
            //    ChangeColor(label10.Text);
            //    panel1.Controls.Clear();
            //    Problem pb = new Problem();
            //    panel1.Controls.Add(pb);
            //    break;
            //case "EdtionForm":
            //    ChangeColor(label9.Text);
            //    panel1.Controls.Clear();
            //    Edition ed = new Edition();
            //    panel1.Controls.Add(ed);
            //    break;
            default: break;
            }
        }