已知两点,画一条直线,判断线的每个坐标点位置,线是(斜线)最好是有vc的公式 ,如 第一点P1,第二点P2  P1.x-P2.x 这种方式

解决方案 »

  1.   

    vc有这样的公式么?直接算直线的表达式,然后穷举吧
    用两点算表达式y = ax + b求a,b,
    然后穷举一个区域,求另一个值
      

  2.   

    用数学公式算就行了(x,ax+b)
      

  3.   

    能不能说的细一点,如这个公式,在vc里面怎么用(x,ax+b)公式
      

  4.   

    比如 取两点之间的斜率   斜率=k  k=(P2.y-P1.y)/(P2.x-P1.x)
      

  5.   

    两点算表达式y = ax + b求a,b,
    然后穷举一个区域,求另一个值
      

  6.   

    计算出两点P1,P2之间的角度angle,若P1(x0,y0),计算下一点N(x,y)坐标为:
    x = r*cos(angle) + x0;
    y = r*sin(angle) + y0;
    注:r为P1点到下一个点的距离.r小于P1,P2之间的距离
      

  7.   

    有已知的两点完全可以出去通过这两点的直线的嘛,斜率k=(P2.y-P1.y)/(P2.x-P1.x),然后y=kx+b,带入其中的一个点就可以求出b的值,自然就可以算出想要的值了啊!
      

  8.   

    我这方面不懂,能不能把  y代表什么  ax代表什么描述一下  谢谢
      

  9.   

    你要根据一个X坐标得到一个Y坐标.那么你的X肯定是给定的,而你的a,b也是根据数学可以计算出来的
    Double xGetLinePointY(double pointy)
    {
       return a*pointY+b;
    }
      

  10.   


    y=kx+b  不会解开,不知道都代表怎么,b怎么求出来的
      

  11.   

    假设有两点:(x1,y1),(x2,y2)则画直线的代码为:
    CDC* pDC;
    pDC->MoveTo(x1,y1);
    pDC->LIneTo(x2,y2);
    至于找该直线上的点,代码为
    CString strY,strX,strCoordinate;
    float valueY;
    int PositionY=0; //输出坐标在屏幕上的位置for(int i=x1,i<=x2,i++)
    {
        valueY=(y2-y1)*(i-x1)/(x2-x1)+y1;  //根据x值计算y值的公式
        strY.Format("%f",valueY);
        strX.Format("%d",valueX);
        strCoordinate=strX+","+strY;
        pDC->TextOut(0,PositionY,strCoordinate); //在屏幕上显示坐标值
        PositionY=Position+20;  //从上到下每20个像素输出一个值
    }
      

  12.   

    两点 A(x1,y1),B(x2,y2)
    if(x1>x2)//保证 x1<x2
    {
     C=A;
     A=B;
     B=A;
    }float k = (y2-y1)/(x2-x1);  //斜率,x2 ==x1的情况另外处理int pointnum = x2-x1+1;
    POINT pt[pointnum];
    for(int x = x1; x<x2;x++)
    {
    pt[x-x1].x = x;
    pt[x-x1].y = (int)(k(x-x1)+y1);
    }