问题描述如下:目前我有一个数组存了很多个点,现在想将这么多点用一条曲线连接起来,相当于曲线拟合,如果系统有这么个方法的话麻烦告诉我下,没有的话求个曲线拟合算法,谢谢各位了

解决方案 »

  1.   


    Graphics.DrawBeziers(Pen, Point[])连续的光滑曲线
      

  2.   

    对于c++
    Status DrawBeziers(IN const Pen* pen,
                           IN const PointF* points,
                           IN INT count);
      

  3.   

                Image img = new Bitmap(this.pictureBox1.Width, this.pictureBox1.Height);
                System.Drawing.Graphics grap = Graphics.FromImage(img);
    Point[] pts;
    grap.DrawLines(Pens.Black, pts);
    this.pictureBox1.Image = img;
      

  4.   


    Graphics g = new Graphics();
                Point[] p = new Point[7];
                p[0] = new Point(0.0);
                p[1] = new Point(1, 1);
                p[2] = new Point(2, 2);
                p[3] = new Point(5, 5);
                p[4] = new Point(3, 3);
                p[6] = new Point(6, 2);
               g.DrawBeziers(new Pen(Brushes.Black), p);
      

  5.   

    太好了
    但是我想问一下,问什么要这样画线呢
    因为,我在picturebox的paint事件中也能使用,但是我这样写就没有用:
    private void pictureBox1_Paint(object sender, PaintEventArgs e)
            {
    Graphics p = this.pictureBox1.CreateGraphics();
                Pen myPenp = new Pen(Color.Black, 1);
                myPenp.DashStyle=System.Drawing.Drawing2D.DashStyle.Dot;
                p.DrawLine(myPenp, 0, 0, 100, 200);
    }
      

  6.   

    這個Besiers並不是通過點數組的,而是靠這個點數組來定位而已