已知线段的长度以及一个端点和线段上另外一点的坐标,如何画全这条线段?
解决方案 »
- 改变状态栏字体的大小
- 动态库->如何导出类?
- 为何会出现这样的编译通不过问题:fatal error C1010: unexpected end of file while looking for precompiled header directive
- 怎样利用win API得到一个目录下的所有文件?
- 字符串问题
- 急问:基于对话框的mfc应用程序
- 一道编程智力题!有兴趣的来看看!
- 请教关于“深入浅出MFC”第8章367页,405页中的问题
- 如何在对话框中显示.jpg文件?
- 给你一个光盘盘符,如何区分它是虚拟光驱还是真实光驱?
- 结构体该如何存储
- [---CSDN告别贴---] 兄弟们, 从今以后我不会再来这了,再见!
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)
这样就可以了.
pDC->LineTo(pt);
完成画线;