假设在屏幕上有(单文挡下)画了几个点,如何能够把这几个点用平滑的曲线连接起来,请高手一定帮我一下

解决方案 »

  1.   

    我觉得理论上可以用圆弧拼接所要的平滑曲线。
    比如10个点a[10],可以用圆弧连接a[0]和a[1],这样a[1]上的曲线斜率就定了,设为b[1],通过a[1],a[2],b[1]就唯一确定a[1]和a[2]之间的圆弧了,依次类推。
      

  2.   

    用三次样条或是用Bezier曲线能过指定的点列,而且在该点上一阶连续?
    我怎么觉得不容易呀
      

  3.   

    拟和和插值的各种方法理论上都可以解决,可是效果究竟好不好,就需要试探了,感觉到有些特殊点的过度是很难做出来的,多试几次吧。建议看看MATLAB的拟和和插值函数的源代码。
      

  4.   

    还是给你大致方向吧:
    1、读取各点的位置;
    2、构造差分表,然后使用Newton插值多项公式,即求出这几个点所能应该满足的函数式;
    3、根据函数式画出第一点和最后一点范围以内的图像,即为所求得平滑的曲线
    -----------------------------------------------
    由于这里不好输入公式,所以只好请搂主自己去查看资料,以了解差分表和牛顿插值方面的内容了,建议去看浙江大学出版社的《计算方法》一书。
      

  5.   

    zengyukye你好,请问孙家昶先生的代码我在那里能够找到
      

  6.   

    在GDI+中有直接的方法可以实现这个功能!