График квадратичной функции - C#
Формулировка задачи:
Пишу программу, которая делает график квадратичной функции по её коэффициентам. Смог построить только обычную параболу, как привязать её к коэффициентам(a,b,c)?
Graphics g = pictureBox1.CreateGraphics(); g.Clear(SystemColors.Control); int a = 0, b = 0, c = 0; if ((textBox1.Text.Length == 0) || (textBox2.Text.Length == 0)||(textBox3.Text.Length==0)) MessageBox.Show("Вы не ввели a или b или c"); else { a = Convert.ToInt16(textBox1.Text); b = Convert.ToInt16(textBox2.Text); c = Convert.ToInt16(textBox2.Text); } int x1 = -250, x2 = 250; int y1 = a * x1 + b*x1 + c; int y2 = a * x2 + b*x2 + c; float W = 500, H = 400; float halfW = W / 2, halfH = H / 2; int ixPrev = -1, iyPrev = (int)halfH; for (int ix = 0; ix < W; ix++) { float px = (ix - halfW) / halfW; px *= (float)Math.PI; float py = (float)Math.Pow(px, 2); int iy = (int)(halfH - py * halfH); g.DrawLine(Pens.Red, ixPrev, iyPrev, ix, iy); ixPrev = ix; iyPrev = iy; }
Помогите!
Решение задачи: «График квадратичной функции»
textual
Листинг программы
using System.Windows.Forms.DataVisualization.Charting;//в References необходимо подключить public void AddDataPlot(ref double[] X, ref double[] Y) { //chart1.Series.Add("Series1"); //добавить объект ряда данных chart1.Series[0].ChartType = SeriesChartType.Spline; //установить тип графика chart1.Series[0].BorderWidth = 2; //chart1.Series[0].Points.Clear();//удалить старые точки //предварительно расчитать Y = AX^2+BX+C необходимое количество точек по которым строится график //добавить точки на график в виде абсциссы и соответствующей ординаты for (int i = 0; i < X.Length; i++) { chart1.Series[0].Points.AddXY(X[i],Y[i]); } //установить границы осей(необязательно в тривиальном случае устанавливаются автоматически) chart1.ChartAreas[0].AxisX.Minimum = chart1.Series[0].Points[0].XValue; chart1.ChartAreas[0].AxisX.Maximum = chart1.Series[0].Points[chart1.Series[0].Points.Count - 1].XValue; chart1.ChartAreas[0].AxisY.Minimum = MinY; chart1.ChartAreas[0].AxisY.Maximum = MaxY; chart1.Invalidate(); //перерисовать }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д