我觉得 我圆 椭圆  矩形 正方形和三角形 都是由点缺点所以解决旋转问题 我觉得只要解决点 绕点旋转就好
怎么实现点绕点旋转???
求高手帮助 
Mfc 图形界面编程 左上角为原点 

解决方案 »

  1.   

    实现矩阵类即可~~
    http://feidai22.spaces.live.com/blog/cns!d327f013d7060167!285.entry
      

  2.   

    假设点p1(x,y)为你想旋转的图形上任意一个点的坐标,再假设你的图形想围绕点p2(xr,yr)旋转
    那么旋转n个弧度后的图形上的点p1(x1,y1)的坐标为
    x1=xr+(x-xr)*cos(n)-(y-yr)*sin(n);
    y2=yr+(y-yr)*cos(n)+(x-xr)*sin(n);
    你把图形上所有的点做这个计算以后,就画出旋转后的图形了。
      

  3.   

    你要想围绕原点(0,0)旋转那更方便了,你把xr=0,yr=0就行了,不过这样一来,图形旋转到视图外面了,你怎么看到。办法是你可以把视图中心设置为原点就行了。办法是
    CRect rect;
    GetClientRect(&rect);
    CDC *pDC=GetDC();
    pDC->SetViewportOrg(rect.Width()/2,rect.Height()/2);
    ReleaseDC(pDC);