График функции - C# (181316)
Формулировка задачи:
Здравствуйте, помогите с написанием программы. Есть функция . Программа заключается в том, что нужно построить данный график с возможностью масштабирования! (в самой программе уже масштаб изменять). На форуме искал, но подходящего варианта нет.
Есть у кого-нибудь идеи?
Решение задачи: «График функции»
textual
Листинг программы
private void drawer(string thistext) { for (int i = 0; i < cordx.Length; i++) { if (cordy[i] > -200.0 / size && cordy[i] < 200.0 / size) // 200 и size - это точность графика, т.е. кол-во промежуточных точек { x += 0.01; y = твоя функция cordx[i] = x; cordy[i] = y; } } } private void draw(object sender, PaintEventArgs e) { Graphics grafen = e.Graphics; Pen pendefault = new Pen(Color.Gray, 1); Pen mypen = new Pen(mycolor, 1); grafen.DrawLine(pendefault, new Point(0, pictureBox1.Height / 2), new Point(pictureBox1.Height, pictureBox1.Height / 2)); grafen.DrawLine(pendefault, new Point(pictureBox1.Width / 2, 0), new Point(pictureBox1.Width / 2, pictureBox1.Width)); //рисуется начало координат (хотя в пикчербокс оно слева вверху) for (int i = 0; i < cordx.Length; i++) { if (cordy[i] > -200.0 / size && cordy[i] < 200.0 / size) { grafen.DrawRectangle(mypen, (float)(cordx[i] * size + pictureBox1.Height / 2), (float)(-1 * (cordy[i] * size - pictureBox1.Width / 2)), 1, 1); } } //в цикле рисуется график функции по точкам массива } private void trackBar1_Scroll(object sender, EventArgs e) { trackBar1.Minimum = 10; trackBar1.Maximum = 100; size = trackBar1.Value; pictureBox1.Refresh(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д