如何实现图形的旋转?比如点 直线 我觉得 我圆 椭圆 矩形 正方形和三角形 都是由点缺点所以解决旋转问题 我觉得只要解决点 绕点旋转就好怎么实现点绕点旋转???求高手帮助 Mfc 图形界面编程 左上角为原点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 实现矩阵类即可~~http://feidai22.spaces.live.com/blog/cns!d327f013d7060167!285.entry 假设点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);你把图形上所有的点做这个计算以后,就画出旋转后的图形了。 你要想围绕原点(0,0)旋转那更方便了,你把xr=0,yr=0就行了,不过这样一来,图形旋转到视图外面了,你怎么看到。办法是你可以把视图中心设置为原点就行了。办法是CRect rect;GetClientRect(&rect);CDC *pDC=GetDC();pDC->SetViewportOrg(rect.Width()/2,rect.Height()/2);ReleaseDC(pDC); VC里面有没有切割矩形图片的API 怎样让MFC开发的ACTIVEX在C#里面可以用类的方式动态创建使用? 访问数据库问题? MFC 中array ,map 等数据类型, 都可以用stl 替代吗? 各有什么优势呢 如何将char[]数组转换为long类型的数值 SetWindowHookEx问题,大侠请进! 如何取得CImageList的IDispatch接口?? 跪求在OUTLOOK中导出未读邮件的方法 关于dll链接的问题!——专家,高手请进! 急急急!!太不可思议,Debug版本能正常运行而Release版本却不行? GDI+做的透明窗口扩大后绘图出现一个问题 平台安装
http://feidai22.spaces.live.com/blog/cns!d327f013d7060167!285.entry
那么旋转n个弧度后的图形上的点p1(x1,y1)的坐标为
x1=xr+(x-xr)*cos(n)-(y-yr)*sin(n);
y2=yr+(y-yr)*cos(n)+(x-xr)*sin(n);
你把图形上所有的点做这个计算以后,就画出旋转后的图形了。
CRect rect;
GetClientRect(&rect);
CDC *pDC=GetDC();
pDC->SetViewportOrg(rect.Width()/2,rect.Height()/2);
ReleaseDC(pDC);