在MFC里面怎么实现一个图形以自己中心为圆心旋转
在MFC里面如何实现一个图形以自己中心为圆心旋转?
我现在想做一个小圆,小圆的圆心沿着另一个圆轨道运动。
不知道如何实现!!
还想知道图形如何以自己中心旋转。比如用Rectangle画的矩形就不能旋转?
------解决方案--------------------
1.解决一个圆绕另一个圆的边界远动的话
一般来说,定时移动圆就可以了,每次计算出圆心的位置,计算方法应该很简单,几何知识:
假设不动的圆的圆心为 (x0,y0) 运动的圆的圆心为(x1,y1),则
x1 = x0 + r*cos(a) y1 = y0 - r*sin(a),a为旋转角度,随时间改变,r为不动的圆的半径
------解决方案--------------------
第二个问题的话,要旋转的话,可以手动来写一个画图形的函数,方法也是几何的那几个公式:x1 = x0 + r*cos(a) y1 = y0 - r*sin(a) 将原来的几个关键点,进行几何变换
------解决方案--------------------
1.补充楼上的,你要调用用OnTimer函数,另外由于只能计算整数,你的圆半径控制的大点。
2.图像自旋转(如果VC6.0看下面帖子,如果是GDI+就自己查MSDN)
http://hi.baidu.com/eith/blog/item/ada964eed1e6dff7b2fb95b3.html
我现在想做一个小圆,小圆的圆心沿着另一个圆轨道运动。
不知道如何实现!!
还想知道图形如何以自己中心旋转。比如用Rectangle画的矩形就不能旋转?
------解决方案--------------------
1.解决一个圆绕另一个圆的边界远动的话
一般来说,定时移动圆就可以了,每次计算出圆心的位置,计算方法应该很简单,几何知识:
假设不动的圆的圆心为 (x0,y0) 运动的圆的圆心为(x1,y1),则
x1 = x0 + r*cos(a) y1 = y0 - r*sin(a),a为旋转角度,随时间改变,r为不动的圆的半径
------解决方案--------------------
第二个问题的话,要旋转的话,可以手动来写一个画图形的函数,方法也是几何的那几个公式:x1 = x0 + r*cos(a) y1 = y0 - r*sin(a) 将原来的几个关键点,进行几何变换
------解决方案--------------------
1.补充楼上的,你要调用用OnTimer函数,另外由于只能计算整数,你的圆半径控制的大点。
2.图像自旋转(如果VC6.0看下面帖子,如果是GDI+就自己查MSDN)
http://hi.baidu.com/eith/blog/item/ada964eed1e6dff7b2fb95b3.html