void draw_graph() { _graphline.Clear(); nMaximum = 0; Graph.GraphPane.YAxis.MajorGrid.IsVisible = true; Graph.GraphPane.XAxis.MajorGrid.IsVisible = true; Graph.GraphPane.XAxis.Scale.Min = A; Graph.GraphPane.XAxis.Scale.Max = B; Graph.GraphPane.YAxis.Scale.Min = C; Graph.GraphPane.YAxis.Scale.Max = D; for (double par = A; par <= B; par += sh) { _graphline.Add(par, Runge(par)); } nMax.Text = Convert.ToString(nMaximum); LineItem mygraphline = Graph.GraphPane.AddCurve("", _graphline, Color.Red, SymbolType.None); mygraphline.Line.Width = 2; mygraphline.Line.IsSmooth = true; Graph.AxisChange(); Graph.Invalidate(); }
PointPairList list6 = new PointPairList(); //Rnx public Form1() { InitializeComponent(); radioButton1.Checked = true; list.Add(0, 0); // добавляем точку (0,0) для отображения осей в центре в этой точе LineItem myCurve = this.Graph.GraphPane.AddCurve("", list, Color.Black, SymbolType.None); // Создадим кривую this.Graph.GraphPane.Title.Text = "График"; //Заголовок графика this.Graph.GraphPane.XAxis.Cross = 0.0; // Ось X будет пересекаться с осью Y на уровне Y = 0 this.Graph.GraphPane.YAxis.Cross = 0.0; // Ось Y будет пересекаться с осью X на уровне X = 0 this.Graph.GraphPane.XAxis.Scale.IsSkipFirstLabel = true; // Отключим отображение первых и последних меток по осям this.Graph.GraphPane.XAxis.Scale.IsSkipLastLabel = true; this.Graph.GraphPane.XAxis.Scale.IsSkipCrossLabel = true; // Отключим отображение меток в точке пересечения с другой осью this.Graph.GraphPane.YAxis.Scale.IsSkipFirstLabel = true; // Отключим отображение первых и последних меток по осям this.Graph.GraphPane.YAxis.Scale.IsSkipLastLabel = true; // Отключим отображение меток в точке пересечения с другой осью this.Graph.GraphPane.YAxis.Scale.IsSkipCrossLabel = true; this.Graph.GraphPane.XAxis.Title.IsVisible = false; // Спрячем заголовки осей this.Graph.GraphPane.YAxis.Title.IsVisible = false; Graph.Invalidate(); // Обновляем график Graph.AxisChange(); // Вызываем метод AxisChange (), чтобы обновить данные об осях. }
private void Clear_Click(object sender, EventArgs e) { Graph.GraphPane.CurveList.Clear(); nMaximum = 0; nMax.Text = Convert.ToString(nMaximum); Graph.AxisChange(); Graph.Invalidate(); }
void method_of_EulerX()//рисует интегральную кривую и выводит n_max { PointPairList list1 = new PointPairList(); double x = x0, y = y0, x1; list1.Add(x0, y0); for (int par = 0; par < n; par++) { x1 = x; //x = x + Tau * (Beta * y + Epsilon * x + Psi); //y = y + Tau * (Alpha * x1 + Delta * y + Fi *Math.Exp(y)); x = Tau * (Math.Exp(Epsilon * x + Lambda * y)) + Alpha * Math.Cos(Beta * x) + Fi; y = Tau * Math.Sqrt(Gamma + V * x) + Epsilon * Math.Exp(y) + Fi; list1.Add(x, y); } PointPairList list2 = new PointPairList(); list2.Add(x0, y0); x = x0; y = y0; for (int par = 0; par < n; par++) { x1 = x; //x = x - Tau * (Beta * y + Epsilon * x + Psi); //y = y - Tau * (Alpha * x1 + Delta * y + Fi * Math.Exp(y)); x = (Math.Exp(Epsilon * x + Lambda * y)) + Alpha * Math.Cos(Beta * x) + Fi; y = Math.Sqrt(Gamma + V * x) + Epsilon * Math.Exp(y) + Fi; list2.Add(x, y); } Random rnd = new Random(); Color curveColor = _colors[rnd.Next(_colors.Length)]; Graph.GraphPane.AddCurve("", list1, curveColor, SymbolType.None); // Создадим кривую Graph.GraphPane.AddCurve("", list2, curveColor, SymbolType.None); // Создадим кривую Graph.AxisChange(); Graph.Invalidate(); // Обновляем график }
PointPairList list6 = new PointPairList(); //Rnx public Form1() { InitializeComponent(); radioButton1.Checked = true; list.Add(0, 0); // добавляем точку (0,0) для отображения осей в центре в этой точе LineItem myCurve = this.Graph.GraphPane.AddCurve("", list, Color.Black, SymbolType.None); // Создадим кривую this.Graph.GraphPane.Title.Text = "f(x) = α * cos[ε*x] * sin[tg[β/x-γ]]"; //Заголовок графика this.Graph.GraphPane.XAxis.Cross = 0.0; // Ось X будет пересекаться с осью Y в точке (0,0) this.Graph.GraphPane.YAxis.Cross = 0.0; this.Graph.GraphPane.XAxis.Scale.IsSkipFirstLabel = true; // Отключим отображение первых и последних меток по осям this.Graph.GraphPane.XAxis.Scale.IsSkipLastLabel = true; this.Graph.GraphPane.XAxis.Scale.IsSkipCrossLabel = true; // Отключим отображение меток в точке пересечения с другой осью this.Graph.GraphPane.YAxis.Scale.IsSkipFirstLabel = true; // Отключим отображение первых и последних меток по осям this.Graph.GraphPane.YAxis.Scale.IsSkipLastLabel = true; // Отключим отображение меток в точке пересечения с другой осью this.Graph.GraphPane.YAxis.Scale.IsSkipCrossLabel = true; this.Graph.GraphPane.XAxis.Title.IsVisible = false; // Спрячем заголовки осей this.Graph.GraphPane.YAxis.Title.IsVisible = false; this.Graph.GraphPane.XAxis.Scale.Min = A; // Устанавливаем интересующий нас интервал по оси X (интерал отображения графика) this.Graph.GraphPane.XAxis.Scale.Max = B; this.Graph.GraphPane.YAxis.Scale.Min = C; // Устанавливаем интересующий нас интервал по оси Y (интерал отображения графика) this.Graph.GraphPane.YAxis.Scale.Max = D; Graph.Invalidate(); // Обновляем график Graph.AxisChange(); // Обновляем данные об осях. }
public Form1() { InitializeComponent(); radioButton1.Checked = true; radioButton_Alph.Checked = true; _axis.Add(0, 0); Graph.GraphPane.AddCurve("", _axis, Color.Red, SymbolType.None); Graph.GraphPane.Title.Text = "f(x) = Alpha * sin(Beta/(x-Gamma)^2) + Delta * cos(Epsilon/(x-Mu)^2)"; Graph.GraphPane.XAxis.Cross = 0.0; Graph.GraphPane.YAxis.Cross = 0.0; Graph.GraphPane.YAxis.MajorGrid.IsVisible = true; Graph.GraphPane.XAxis.Scale.IsSkipFirstLabel = true; Graph.GraphPane.XAxis.Scale.IsSkipLastLabel = true; Graph.GraphPane.YAxis.Scale.IsSkipFirstLabel = true; Graph.GraphPane.YAxis.Scale.IsSkipLastLabel = true; Graph.GraphPane.XAxis.Scale.IsSkipCrossLabel = true; Graph.GraphPane.YAxis.Scale.IsSkipCrossLabel = true; Graph.GraphPane.XAxis.Title.IsVisible = false; Graph.GraphPane.YAxis.Title.IsVisible = false; Graph.GraphPane.XAxis.Scale.Min = A; Graph.GraphPane.XAxis.Scale.Max = B; Graph.GraphPane.YAxis.Scale.Min = C; Graph.GraphPane.YAxis.Scale.Max = D; Graph.Invalidate(); Graph.AxisChange(); }
public Form1() { InitializeComponent(); radioButton1.Checked = true; radioButton_Alph.Checked = true; axis.Add(0, 0); // добавляем точку (0,0) для отображения осей в центре в этой точе LineItem myAxis = this.Graph.GraphPane.AddCurve("", axis, Color.Yellow, SymbolType.None); // Создадим кривую this.Graph.GraphPane.Title.Text = "f(x) = ε * sin[(β*x)/(α^2-x^2)] * cos[γ*x]"; //Заголовок графика this.Graph.GraphPane.XAxis.Cross = 0.0; // Ось X будет пересекаться с осью Y на уровне Y = 0 this.Graph.GraphPane.YAxis.Cross = 0.0; // Ось Y будет пересекаться с осью X на уровне X = 0 //Сетка this.Graph.GraphPane.YAxis.MajorGrid.IsVisible = true; this.Graph.GraphPane.YAxis.MajorGrid.Color = Color.GreenYellow; this.Graph.GraphPane.XAxis.MajorGrid.IsVisible = true; this.Graph.GraphPane.XAxis.MajorGrid.Color = Color.GreenYellow; //this.Graph.GraphPane.YAxis.MinorGrid.IsVisible = true; //this.Graph.GraphPane.YAxis.MinorGrid.Color = Color.YellowGreen; //this.Graph.GraphPane.XAxis.MinorGrid.IsVisible = true; //this.Graph.GraphPane.XAxis.MinorGrid.Color = Color.YellowGreen; this.Graph.GraphPane.XAxis.Scale.IsSkipFirstLabel = true; // Отключим отображение первых и последних меток по осям this.Graph.GraphPane.XAxis.Scale.IsSkipLastLabel = true; this.Graph.GraphPane.YAxis.Scale.IsSkipFirstLabel = true; this.Graph.GraphPane.YAxis.Scale.IsSkipLastLabel = true; this.Graph.GraphPane.XAxis.Scale.IsSkipCrossLabel = true; // Отключим отображение меток в точке пересечения с другой осью this.Graph.GraphPane.YAxis.Scale.IsSkipCrossLabel = true; this.Graph.GraphPane.XAxis.Title.IsVisible = false; // Спрячем заголовки осей this.Graph.GraphPane.YAxis.Title.IsVisible = false; // Устанавливаем интересующий нас интервал отображения по осиям this.Graph.GraphPane.XAxis.Scale.Min = A; this.Graph.GraphPane.XAxis.Scale.Max = B; this.Graph.GraphPane.YAxis.Scale.Min = C; this.Graph.GraphPane.YAxis.Scale.Max = D; //закраска область графика this.Graph.GraphPane.Fill.Type = FillType.Solid; this.Graph.GraphPane.Fill.Color = Color.MidnightBlue; this.Graph.GraphPane.Border.Color = Color.MidnightBlue; //цвет рамки вокруг графика this.Graph.GraphPane.Chart.Border.Color = Color.Yellow; this.Graph.GraphPane.Title.FontSpec.FontColor = Color.YellowGreen; // Закраска области построения this.Graph.GraphPane.Chart.Fill.Type = FillType.Solid; this.Graph.GraphPane.Chart.Fill.Color = Color.Black; //установка цвета осей this.Graph.GraphPane.XAxis.Color = Color.Yellow; this.Graph.GraphPane.YAxis.Color = Color.Yellow; //установка цвета шрифтов this.Graph.GraphPane.XAxis.Scale.FontSpec.FontColor = Color.Yellow; this.Graph.GraphPane.YAxis.Scale.FontSpec.FontColor = Color.Yellow; Graph.Invalidate(); // Обновляем график Graph.AxisChange(); // Вызываем метод AxisChange (), чтобы обновить данные об осях. }
private void Build_up_Click(object sender, EventArgs e) { Graph.GraphPane.CurveList.Clear(); if (radioButton1.Checked) { Delta = 1.0; } if (radioButton2.Checked) { Delta = 0.1; } if (radioButton3.Checked) { Delta = 0.01; } if (radioButton4.Checked) { Delta = 0.001; } A = (double)Par_A.Value; B = (double)Par_B.Value; C = (double)Par_C.Value; D = (double)Par_D.Value; a = (double)numeric_a.Value; b = (double)numeric_b.Value; n = (int)numeric_points.Value; if (A >= B) { double temp = A; A = B; B = temp; Par_A.Value = (decimal)A; Par_B.Value = (decimal)B; } if (C >= D) { double temp = C; C = D; D = temp; Par_C.Value = (decimal)C; Par_D.Value = (decimal)D; } if (a >= b) { double temp = a; a = b; numeric_a.Value = (decimal)a; b = temp; numeric_b.Value = (decimal)b; } sh = (Math.Abs(A) + Math.Abs(B)) / 600; Alpha = (double)numericAlpha.Value; Beta = (double)numericBeta.Value; Gamma = (double)numericGamma.Value; Epsilon = (double)numericEpsilon.Value; Del = (double)numericDel.Value; Mu = (double)numericMu.Value; Graph.GraphPane.XAxis.Scale.Min = A; Graph.GraphPane.XAxis.Scale.Max = B; Graph.GraphPane.YAxis.Scale.Min = C; Graph.GraphPane.YAxis.Scale.Max = D; Graph.AxisChange(); Graph.Invalidate(); draw_graph(); }