例如(10,20),(50,80)通过这两点的直线上每点的x,y坐标,不知道有没有此处理函数,熟悉的朋友帮帮忙,谢谢

解决方案 »

  1.   

    用最小的那个差距/最大差距的来求。例如:z=最小差距/最大差距
    y=y+10;
    x=x+10*z
    反过来换算也可以。
      

  2.   

    刚刚看了下GraphicsPath类,不知道能不能用这个类解决~
      

  3.   

    csdn人气好像没有以前旺了阿~!~
      

  4.   

    只要满足直线方和y=3/2x+5的x,y不都在你这条直线上么?
      

  5.   

    自己写个类去处理就是:设 两个点为 (x1,y1),(x2,y2)y=ax+b ==>a=(y1-y2)/(x1-x2)
    b = (x1*y2-y1*x2)/(x1-x2)=========================>代入到 y=ax+b 中就可以求出 当 x 为确定值时 y 的值public class LineFunction
    {
    private int a =0;
    private int b =0;
    public LineFunction(Point pBegion ,Point pEnd)
    {
    a = ( pBegion.Y-pEnd.Y)/(pBegion.X-pEnd.X);
    b=(pBegion.X *pEnd.Y-pBegion.Y*pEnd.X)/(pBegion.X-pEnd.X);
    }
    public int GetYByX(int x)
    {
    return a* x +b;
    }
    public int GetXByY(int Y)
    {
    return (Y-b)/a;
    }
    public int A
    {
    get{return a;}
    }
    public int B
    {
    get{return b;}
    }
    }
      

  6.   

    syfsz(黄金分割点) 的方案已经基本完美了,不过要注意特殊情况:
    比如 x1 = x2 或者 y1 = y2 时,直线的方程会很特殊,所以使用两点式求算 a, b 可能导致数学错误(x1=x2时直线垂直 x 轴)建议用 float 类型类存储 系数 a,b,因为它支持除以零,判断点时,对于垂直于 x 轴的直线,可以只判断 x 坐标。或者使用一般式:Ax + By + C = 0 (A、B不同时为零)。
    x1!=x2,y1!=y2 时
    A = (y1 - y2) / (x1 - x2)
    B = -1
    C = (x1*y2-y1*x2)/(x1-x2)
    x1=x2, y1!=y2 时
    A = 1
    B = 0
    C = -x1
    x1!=x2, y1=y2 时
    A = 0
    B = 1
    C = -y1