已知线段的长度以及一个端点和线段上另外一点的坐标,如何画全这条线段?

解决方案 »

  1.   

    是我看错了,已经知道两个点了求出角度不就行了?moveto然后lineto。
      

  2.   

    #include <math.h>
    CPoint pt1,pt2,pt;//pt为所求端点;pt1 为另一端点
    double m_dL;
    double Q;
    if(pt1.x == pt2.x )
    {
        if( pt1.y < pt2.y)
         {Q = 90;}
         else
         {Q = 270;}
    }
    else if(pt1.y == pt2.y)
    {
        if(pt1.x > pt2.x)
         {Q = 180;}
        else
         {Q = 0;}
    }
    else
    {
        double k;
        k = (double)(pt2.y - pt1.y)/(pt2.x - pt1.x);
        if(pt1.x > pt2.x && pt1.y > pt2.y)
         {Q = atan(k)*180/3.1415926 + 180;}
         else if(pt1.x > pt2.x && pt1.y < pt2.y)
         {Q = atan(k)*180/3.1415926 + 180;}
         else if(pt1.x < pt2.x && pt1.y > pt2.y)
         {Q = atan(k)*180/3.1415926 + 360;}
         else
         {Q = atan(k)*180/3.1415926;}  }pt.x = pt1.x + L * Cos((double)Q/180*3.1415926);
    pt.y = pt1.y + L * Sin((double)Q/180*3.1415926)
    这样就可以了.
      

  3.   

    pDC->MoveTo(pt1);
    pDC->LineTo(pt);
    完成画线;