Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void построитьToolStripMenuItem_Click(object sender, EventArgs e)
- {
- GraphPane pane = graph.GraphPane;
- pane.XAxis.Title.Text = "Ось X";
- pane.YAxis.Title.Text = "Ось Y";
- pane.Title.Text = "График строфоиды";
- // Создадим список точек
- PointPairList list = new PointPairList();
- const double a = Math.PI / 2.0;
- // Заполняем список точек
- for (double x = -0.9; x <= 0.9; x += 0.01)
- {
- double u = Math.Tan(x);
- // добавим в список точку
- list.Add(a * (u * u - 1) / (u * u + 1), a * u * (u * u - 1) / (u * u + 1));
- }
- // Создадим кривую с названием "Sinc",
- // которая будет рисоваться голубым цветом (Color.Blue),
- // Опорные точки выделяться не будут (SymbolType.None)
- LineItem myCurve = pane.AddCurve("", list, Color.Green, SymbolType.None);
- // Вызываем метод AxisChange (), чтобы обновить данные об осях.
- // В противном случае на рисунке будет показана только часть графика,
- // которая умещается в интервалы по осям, установленные по умолчанию
- graph.AxisChange();
- // Обновляем график
- graph.Invalidate();
- }
- private void анимироватьToolStripMenuItem_Click(object sender, EventArgs e)
- {
- GraphPane pane = graph.GraphPane;
- pane.XAxis.Title.Text = "Ось X";
- pane.YAxis.Title.Text = "Ось Y";
- pane.Title.Text = "График строфоиды";
- Pen p = new Pen(Color.Blue, 5);
- const double a = Math.PI / 2.0;
- // Заполняем список точек
- double x = -0.9; y, x0, y0;
- x0 = -0.9;
- y0 = 0;
- do
- {
- double u = Math.Tan(x);
- x = a * (u * u - 1) / (u * u + 1);
- y = a * u * (u * u - 1) / (u * u + 1);
- x += 0.01;
- pane.DrawLine(p, x0, y0, x, y);
- x0 = x;
- y0 = y;
- Sleep (0.001);
- } while (x <= 0.9);
- // Вызываем метод AxisChange (), чтобы обновить данные об осях.
- // В противном случае на рисунке будет показана только часть графика,
- // которая умещается в интервалы по осям, установленные по умолчанию
- graph.AxisChange();
- // Обновляем график
- graph.Invalidate();
- }
- private void анимироватьToolStripMenuItem1_Click_1(object sender, EventArgs e)
- {
- GraphPane pane = graph.GraphPane;
- pane.XAxis.Title.Text = ""; pane.YAxis.Title.Text = "";
- pane.Title.Text = "Анимация графика строфоиды";
- pane.CurveList.Clear();
- // Создадим список точек
- PointPairList list = new PointPairList();
- const double a = Math.PI / 2.0;
- // Заполняем список точек
- for (double i = -0.9; i <= 0.9; i += 0.01)
- {
- double u = Math.Tan(i);
- list.Add(a * (u * u - 1) / (u * u + 1), a * u * (u * u - 1) / (u * u + 1));
- LineItem myCurve = pane.AddCurve("", list, Color.Red, SymbolType.None); // ВОТ ЗДЕСЬ СТАНДАРТНО ЗАПОЛНЯЮ ЛИСТ С ТОЧКАМИ И ВЫВОЖУ КРИВУЮ
- myCurve.Line.IsSmooth = true; // сглаживание
- Thread.Sleep(5); // ЗДЕСЬ ЗАДЕРЖКА ДЛЯ ПОСТЕПЕННОГО ПОЯВЛЕНИЯ ТОЧЕК
- graph.Refresh(); // ВНИМАНИЕ ВАЖНО! МЕТОД graph.Invalidate(); НЕ ПРОКАТИТ, НУЖНО ИМЕННО РЕФРЕШ
- }
- graph.AxisChange();
- graph.Invalidate();
- }
Add Comment
Please, Sign In to add comment