public bool MouseDownEvent(MouseEventArgs e) { if (!DrawtingMode) { return(default(bool)); } _isPaintingBegun = true; _zedGraphResult.IsEnableHZoom = false; _zedGraphResult.IsEnableVZoom = false; _pointPairList.Clear(); _richTextBoxIncoming.Clear(); _zedGraphResult.GraphPane.ReverseTransform(e.Location, out _lastX, out _lastY); _lastX = Math.Round(_lastX, 1); _lastY = Math.Round(_lastY, 1); _pointPairList.Add(_lastX, _lastY); try { _zedGraphResult.GraphPane.CurveList["Произвольная"].Color = Color.HotPink; } catch { ZedGraphHlp.DrawGraph(_zedGraphResult, "Произвольная", _pointPairList, Color.HotPink, IsDeptActive); } _zedGraphResult.GraphPane.CurveList["Произвольная"].Clear(); return(default(bool)); }
private void GetCurveToManeOld(int y) { MainForm.richTextBoxIncoming.Text = ""; PointPairList list = new PointPairList(); list.Clear(); string enter = "\r\n"; for (int i = 0; i < dataGridView1.Rows.Count; i++) { if (i == 0) { MainForm.textBox2.Text = dataGridView1[0, i].Value.ToString(); } if (i == dataGridView1.Rows.Count - 1) { MainForm.textBox3.Text = dataGridView1[0, i].Value.ToString(); enter = ""; } MainForm.IncomingParameters.Add(dataGridView1[0, i].Value + " " + dataGridView1[y, i].Value); MainForm.richTextBoxIncoming.Text += dataGridView1[0, i].Value + " " + dataGridView1[y, i].Value + enter; list.Add((dataGridView1[y, i].Value).ToDblSlow(), (dataGridView1[0, i].Value).ToDblSlow()); } ZedGraphHlp.DrawGraph(MainForm.ZedGraphResult, "Из Las файла", list, Color.Blue, MainForm.checkBoxHaveDept.Checked); }
public void richTextBoxIncoming_DoubleClick(object sender, EventArgs e) { ClearNullStr(richTextBoxIncoming); int fxIndex = richTextBoxIncoming.Lines[0].Split(new[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries).Length; var list = new PointPairList(); try { ZedGraphResult.GraphPane.CurveList["Исходная"].Color = Color.Green; } catch { ZedGraphHlp.DrawGraph(ZedGraphResult, "Исходная", list, Color.Red, checkBoxHaveDept.Checked); } ZedGraphResult.GraphPane.CurveList["Исходная"].Clear(); foreach (string line in richTextBoxIncoming.Lines) { string[] parts = line.Split(new[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries); ZedGraphResult.GraphPane.CurveList["Исходная"].AddPoint(ConvertExt.ToDbl(parts[fxIndex - 1]), ConvertExt.ToDbl(parts[0])); } ZedGraphResult.AxisChange(); ZedGraphResult.Invalidate(); }
private void DrawToMain(RichTextBox rtb, string title) { int Fx_index = rtb.Lines[0].Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries).Length; PointPairList list = new PointPairList(); for (int i = 0; i < rtb.Lines.Length; i++) { string[] parts = rtb.Lines[i].Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries); list.Add(parts[Fx_index - 1].ToDbl(), parts[0].ToDbl()); } ZedGraphHlp.DrawGraph(MainForm.ZedGraphResult, title, list, ZedGraphHlp.RandomColor, MainForm.checkBoxHaveDept.Checked); }
private void button3_Click(object sender, EventArgs e) { richTextBoxIncoming.Text = ""; PointPairList list = new PointPairList(); double start = textBox5.Text.ToDbl(); double finish = textBox3.Text.ToDbl(); double step = textBox4.Text.ToDbl(); double[,] temp2 = MainForm.Evaluator(textBoxIncFunc.Text, start, finish, step); for (int i = 0; i < temp2.GetLength(1); i++) { list.Add(temp2[1, i], temp2[0, i]); richTextBoxIncoming.Text += temp2[0, i] + "\t" + temp2[1, i] + "\r\n"; } ZedGraphHlp.DrawGraph(MainForm.ZedGraphResult, "Функция для свертки", list, ZedGraphHlp.RandomColor, MainForm.checkBoxHaveDept.Checked); }
private void GetCurveToMane() { //MainForm.checkBoxFormat.Checked = true; MainForm.richTextBoxIncoming.Text = ""; PointPairList list = new PointPairList(); list.Clear(); string enter = "\r\n"; label1.Visible = true; progressBar1.Visible = true; progressBar1.Value = 0; double progress = 0; double step = 100.0 / (dataGridView2.Rows.Count - 1); for (int i = 0; i < dataGridView2.Rows.Count; i++) { progress += step; if (progress > 1) { progress--; progressBar1.Value++; } if (i == 0) { MainForm.textBox2.Text = dataGridView1[0, i].Value.ToString(); } if (i == dataGridView1.Rows.Count - 1) { MainForm.textBox3.Text = dataGridView1[0, i].Value.ToString(); enter = ""; } MainForm.IncomingParameters.Add(dataGridView2[0, i].Value + " " + dataGridView2[1, i].Value + " " + dataGridView2[2, i].Value); MainForm.richTextBoxIncoming.Text += dataGridView2[0, i].Value + " " + dataGridView2[1, i].Value + " " + dataGridView2[2, i].Value + enter; list.Add(dataGridView2[2, i].Value.ToDblSlow(), dataGridView2[0, i].Value.ToDblSlow()); } ZedGraphHlp.DrawGraph(MainForm.ZedGraphResult, "Из Las файла", list, Color.Blue, MainForm.checkBoxHaveDept.Checked); label1.Visible = false; progressBar1.Visible = false; Close(); }
private void button6_Click(object sender, EventArgs e) { MainForm.checkBoxHaveDept.Checked = true; MainForm.checkBoxConvolution.Checked = true; MainForm.textBoxPopulationSize.Text = "15"; MainForm.textBoxNMIteratoins.Text = "3000"; int OperatorsLenght = richTextBoxOperator.Lines[0].Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries).Length; PointPairList list = new PointPairList(); Reader(richTextBoxOperator, ListOperator); Reader(richTextBoxIncoming, ListIncoming); ListConvolution.Clear(); MainForm.richTextBoxIncoming.Text = ""; richTextBoxConvolution.Text = ""; for (int i = 0; i < OperatorsLenght - 1; i++) { double[] temp = new double[2]; temp[0] = Math.Round(GetArgumentFromList(i, 0, ListIncoming), 4); temp[1] = 0; list.Add(temp[1], temp[0]); ListConvolution.Add(temp); MainForm.richTextBoxIncoming.Text += temp[0] + " \t" + GetArgumentFromList(i, 1, ListIncoming) + " \t" + temp[1] + "\r\n"; richTextBoxConvolution.Text += temp[0] + " \t" + temp[1] + "\r\n"; } for (int i = OperatorsLenght - 1; i < richTextBoxIncoming.Lines.Length; i++) { double[] tempConv = new double[2]; tempConv[0] = Math.Round(GetArgumentFromList(i, 0, ListIncoming), 4); for (int m = 0; m < OperatorsLenght; m++) { tempConv[1] += GetArgumentFromList(0, m, ListOperator) * GetArgumentFromList(i - m, 1, ListIncoming); } //for (int m = 1; m <= 2; m++) //{ // tempConv[1] -= 0.5 * GetArgumentFromList(i - m, 1, ListConvolution); //} list.Add(tempConv[1], tempConv[0]); ListConvolution.Add(tempConv); MainForm.richTextBoxIncoming.Text += tempConv[0] + " \t" + GetArgumentFromList(i, 1, ListIncoming) + " \t" + Math.Round(tempConv[1], 4) + "\r\n"; richTextBoxConvolution.Text += tempConv[0] + " \t" + Math.Round(tempConv[1], 4) + "\r\n"; } ZedGraphHlp.DrawGraph(MainForm.ZedGraphResult, "Цифровой фильтр", list, Color.Pink, MainForm.checkBoxHaveDept.Checked); }
private void buttonGenerate_Click(object sender, EventArgs e) { richTextBoxIncoming.Text = ""; var list = new PointPairList(); double start = ConvertExt.ToDbl(textBox2.Text); double finish = ConvertExt.ToDbl(textBox3.Text); double step = ConvertExt.ToDbl(textBox4.Text); double[,] temp2 = Evaluator(TextBoxIdeal.Text, start, finish, step); for (var i = 0; i < temp2.GetLength(1); i++) { list.Add(temp2[1, i], temp2[0, i]); // ReSharper disable LocalizableElement richTextBoxIncoming.Text += temp2[0, i] + "\t" + temp2[1, i] + "\r\n"; // ReSharper restore LocalizableElement } ZedGraphHlp.DrawGraph(ZedGraphResult, "Сгенерированная", list, Color.Green, false); }
private void button7_Click(object sender, EventArgs e) { richTextBoxIncoming.Text = ""; PointPairList list = new PointPairList(); double start = textBox5.Text.ToDblSlow(); double finish = textBox3.Text.ToDblSlow(); double step = textBox4.Text.ToDblSlow(); double[,] temp2 = MainForm.Evaluator(textBoxIncFunc.Text, start, finish, step); for (double i = start; i > finish; i -= step) { double[] temp = new double[2]; temp[0] = Math.Round(i, 4); temp[1] = rnd.Next(-Convert.ToInt16(textBox1.Text), Convert.ToInt16(textBox1.Text)); list.Add(temp[1], temp[0]); richTextBoxIncoming.Text += temp[0] + "\t" + temp[1] + "\r\n"; } ZedGraphHlp.DrawGraph(MainForm.ZedGraphResult, "Функция для свертки", list, Color.Green, MainForm.checkBoxHaveDept.Checked); }
private void button2_Click(object sender, EventArgs e) { Reader(richTextBoxIncoming, ListIncoming); Reader(richTextBoxConvolution, ListConvolution); int OperatorsCount = ListConvolution.Count - ListIncoming.Count + 1; OperatorsCount = 1; int findedStartDeptInc = -1; int findedStartDeptConv = -1; bool finded = false; foreach (double[] getInc in ListIncoming) { if (!finded) { foreach (double[] getConv in ListConvolution) { if (getInc[0] == getConv[0]) { findedStartDeptConv = ListConvolution.IndexOf(getConv); findedStartDeptInc = ListIncoming.IndexOf(getInc); finded = true; } } } } if (findedStartDeptConv == -1) { MessageBox.Show("Совпадений по глубине не найдено"); } else { ListOperator.Clear(); MainForm.zedGraphIterations.GraphPane.CurveList.Clear(); MainForm.zedGraphIterations.GraphPane.GraphObjList.Clear(); for (int i = 0; i < OperatorsCount; i++) { GetOperators(findedStartDeptInc + i, findedStartDeptConv + i); } ListOperator.Reverse(); richTextBoxOperator.Text = ""; foreach (double[] getOp in ListOperator) { PointPairList iterpoints = new PointPairList(); int x = 0; foreach (double getOne in getOp) { double y = Math.Round(getOne, 4); if (x != 0) { iterpoints.Add(x, y); } x++; richTextBoxOperator.Text += y + " "; } ZedGraphHlp.DrawGraph(MainForm.zedGraphIterations, "", iterpoints, ZedGraphHlp.RandomColor, MainForm.checkBoxHaveDept.Checked); richTextBoxOperator.Text += "\r\n"; } } }
public void OnPopulationCreated() { if (Status.LastGraphPoints is null) { return; } var newPointsPairList = new PointPairList(); //При безумном отклонении график с итерациями становится нечитаемым (слишком мелкий зум размывает кривые), //поэтому мы просто не выводим 'неудачные функции'. var notEvenClose = false; var i = 0; foreach (List <double> points in SelectionManager.Arguments) { double newFy = Status.LastGraphPoints.ElementAt(i); double startFy = points.Last(); if (Math.Abs(newFy) > Math.Abs(startFy) * 50.0 && Math.Abs(startFy).IsLessThanEpsilon() == false) { notEvenClose = true; break; } newPointsPairList.Add(newFy, points.First()); i++; } if (notEvenClose) { return; } ZedGraphHlp.DrawGraph(_formMainUi.zedGraphIterations, Status.CurrentIteration.ToString(), newPointsPairList, ZedGraphHlp.RandomColor, _formMainUi.checkBoxHaveDept.Checked); FrozenPointsPairList = newPointsPairList.Clone(); if (_formMainUi.zedGraphIterations.GraphPane.CurveList.Count > 30) { _formMainUi.zedGraphIterations.GraphPane.Legend.IsVisible = false; } DoSafeAction(() => { _formMainUi.FormDialog.LabelElaps.Text = Status.Timer.Elapsed.ToString(); _formMainUi.progressBar1.Value = Status.GetProgressPercent(_formMainUi.SelectionManager.SelectionConfig.MaxAlgorithmIterations); _formMainUi.FormDialog.Text = @"Итерация № " + Status.CurrentIteration; _formMainUi.FormDialog.Refresh(); }); var errs = Status.Log.CompileErrors.Count; if (errs > 0) { DoSafeAction(() => _formMainUi.ошибкиToolStripMenuItem.Text = @"Ошибки " + errs); } DoSafeAction(_formMainUi.Refresh); }
public void OnSelectionFinished() => ZedGraphHlp.DrawGraph(_formMainUi.ZedGraphResult, "Результат подбора", FrozenPointsPairList, Color.Blue, _formMainUi.checkBoxHaveDept.Checked);