График функции - C# (181316)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, помогите с написанием программы. Есть функция . Программа заключается в том, что нужно построить данный график с возможностью масштабирования! (в самой программе уже масштаб изменять). На форуме искал, но подходящего варианта нет.
Есть у кого-нибудь идеи?

Решение задачи: «График функции»

textual
Листинг программы
  1. private void drawer(string thistext)
  2.         {
  3.             for (int i = 0; i < cordx.Length; i++)
  4.             {
  5.                 if (cordy[i] > -200.0 / size && cordy[i] < 200.0 / size) // 200 и size - это точность графика, т.е. кол-во промежуточных точек
  6.                 {
  7.                     x += 0.01;
  8.                     y = твоя функция
  9.                     cordx[i] = x;
  10.                     cordy[i] = y;
  11.                 }
  12.             }
  13.         }
  14.  private void draw(object sender, PaintEventArgs e)
  15.         {
  16.             Graphics grafen = e.Graphics;
  17.  
  18.             Pen pendefault = new Pen(Color.Gray, 1);
  19.             Pen mypen = new Pen(mycolor, 1);
  20.  
  21.             grafen.DrawLine(pendefault, new Point(0, pictureBox1.Height / 2), new Point(pictureBox1.Height, pictureBox1.Height / 2));
  22.             grafen.DrawLine(pendefault, new Point(pictureBox1.Width / 2, 0), new Point(pictureBox1.Width / 2, pictureBox1.Width));
  23.             //рисуется начало координат (хотя в пикчербокс оно слева вверху)
  24.            
  25.                 for (int i = 0; i < cordx.Length; i++)
  26.                 {
  27.                     if (cordy[i] > -200.0 / size && cordy[i] < 200.0 / size)
  28.                     {
  29.                         grafen.DrawRectangle(mypen, (float)(cordx[i] * size + pictureBox1.Height / 2), (float)(-1 * (cordy[i] * size - pictureBox1.Width / 2)), 1, 1);
  30.                     }                
  31.                 } //в цикле рисуется график функции по точкам массива
  32.            
  33.         }
  34. private void trackBar1_Scroll(object sender, EventArgs e)
  35.         {
  36.             trackBar1.Minimum = 10;
  37.             trackBar1.Maximum = 100;
  38.             size = trackBar1.Value;
  39.             pictureBox1.Refresh();          
  40.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.462 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы