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); }
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); }
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; } }