首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

MFC画圆 初学者一问

2013-06-26 
MFC画圆 菜鸟一问圆R250绕客户区中心点以R1100为半径每隔60度旋转。结果应该得到6个圆,为什么我只得到3个

MFC画圆 菜鸟一问
圆R2=50绕客户区中心点以R1=100为半径每隔60度旋转。
结果应该得到6个圆,为什么我只得到3个圆。MFC画圆 初学者一问

附上源代码

void CMy912104220335View::OnDraw(CDC* pDC)
{
CMy912104220335Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
D=0;//角度
R1=100;//R1为旋转半径
R2=50;//R2为圆半径
    CRect Rect;
    GetClientRect(&Rect);
CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
CBrush *pOldBrush=pDC->SelectObject(pBrush);
    int centerx=Rect.right/2;
    int centery=Rect.bottom/2;
int x,y;
    for(int i=0;i<=6;i++)
{   
D=60*i*3.1415926/360;
x=int(centerx+R1*cos(D));
y=int(centery-R1*sin(D));
pDC->Ellipse(int(x-1.414*R2),int(y-1.414*R2),int(x+1.414*R2),int(y+1.414*R2));

}

[解决办法]
D=60*i*3.1415926/180;

pi = 180°
[解决办法]
这个单步调试最明显了。。。看看数据的计算是否错误

热点排行