在.net中,如何绘制数学函数,譬如sin(x),cos(x),ln(x)等之类,给点思路,最好有源代码

解决方案 »

  1.   

    8是有现成的吗,你到MSDN里搜一下Math看看!
      

  2.   

    是Math类里面函数,但是现在是要把那些函数用GDI+绘制出来
      

  3.   

    计算曲线上每一个点的坐标,构成GraphicsPath,然后再画出来就可以了
      

  4.   

    protected override void OnPaint ( System.Windows.Forms.PaintEventArgs e )
    {
    int I_X,I_Y;
    //正弦函数
    for(double i = -400;i<400;i+=0.1)
    {
    I_X = Convert.ToInt32(i + 400);
    I_Y = 300 - Convert.ToInt32(100*Math.Sin(i/50));
    x = new Point(I_X,I_Y);
    y = new Point(I_X,I_Y+1);
    e.Graphics.DrawLine(myPen,x,y);
    }
    }
      

  5.   

    考虑 用 Graphics.DrawBezier 等 其他特殊的方法 ,合理使用。循环次数会比较少。具体还是看msdn上面的各种方法说明。
      

  6.   

    轩辕十四那个可以移植到web from上面吗?
      

  7.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    int I_X,I_Y;
    for(double i = -400;i<400;i+=0.1)
    {
    Panel PanelTemp = new Panel();
                    I_X = Convert.ToInt32(i + 400);
    I_Y = 300 - Convert.ToInt32(100*Math.Sin(i/50));

    PanelTemp.BackColor = System.Drawing.Color.Red;
    PanelTemp.Style.Add("position","absolute");
    PanelTemp.Style.Add("width","1");
    PanelTemp.Style.Add("height","1");
    PanelTemp.Style.Add("z-index","1");
    PanelTemp.Style.Add("left",I_X.ToString()+"px");
    PanelTemp.Style.Add("top",(I_Y+1).ToString()+"px");
    this.Controls.Add(PanelTemp); } }用上面那个人的算法写的webform上面用的。小心点,不要死机了哦。呵呵。
      

  8.   

    fantiny(喻捷),那个我试过可以,不知大家还有没有画图的更一般算法,如果还有其他复合函数呢?希望大家交流交流
      

  9.   

    按照现在的通用web技术来说,用来实现纯页面的画图确实难了点。不过如果用vml的话,就简单很多。vml我没仔细研究过。你可以查查相关的技术手册。vml不是什么浏览器都支持的。
      

  10.   

    请问各位,如何在webform里面定义坐标,譬如上面那个例子能否放在坐标系里面