知道一个二次函数如何得出它的函数图形,最好能给个代码

解决方案 »

  1.   

    通俗易懂的方法是自己采样,输入x然后算出y,然后在坐标系上将(x,y)这个点画上
      

  2.   

    调用专门的工具来作比较专业吧,例如调用MatLab的API来作.
      

  3.   

    用TChart. 加一个series,选曲线模式.然后对这个series写程序.
      series.AddBar(y的值, x标签, 颜色);
    用一组数据画一下,就自动出线了.
      

  4.   

    呵呵,“描点法”画图,先计算,再在Image1.Canvas上画图。
    var h,w,x0,y0,x,y,i,j:integer;
    begin
      h:=300;
      w:=400;
      Image1.Height:=h;
      Image1.Width:=w;
      x0:=w div 2;
      y0:=h div 2;
      Image1.Canvas.Pen.Color:=clBlack;
      Image1.Canvas.Pen.Width:=1;
      Image1.Canvas.MoveTo(0,y0); //画X轴开始
      Image1.Canvas.LineTo(w,y0);
      Image1.Canvas.LineTo(w-10,y0-5);
      Image1.Canvas.MoveTo(w,y0);
      Image1.Canvas.LineTo(w-10,y0+5);
      Image1.Canvas.MoveTo(x0,h);//画Y轴开始
      Image1.Canvas.LineTo(x0,0);
      Image1.Canvas.LineTo(x0-5,10);
      Image1.Canvas.MoveTo(x0,0);
      Image1.Canvas.LineTo(x0+5,10);
      Image1.Canvas.Pen.Color:=clBlue;
      j:=Round(sqrt(y0));      //开始画函数图,画出的图比较粗糙,但可以通过计算放大图像
      x:=x0-j;
      y:=y0-j*j;
      Image1.Canvas.MoveTo(x,y);
      for i:=-j to j do
        begin
          x:=x0+i;
          y:=y0-i*i;
          Image1.Canvas.LineTo(x,y);
        end;
    end;