MFC 如何让一个图形(比如小正方形)沿着一个圆的轨迹运动?
展开全部
建立一个角度量theta,从0.00循环到3.14,在每一轮循环中取得x/y坐标
x = x_center + r * cos(theta);
y = y_center + r * sin(theta);
然后使用x,y绘制图形即可
x = x_center + r * cos(theta);
y = y_center + r * sin(theta);
然后使用x,y绘制图形即可
追问
有个问题,MFC里面的坐标都是整数类型,而通过公式算出来的是浮点类型的,如果强制转换的话,必然会导致精度的下降……这个问题可以怎么解决呢……
追答
如果要四舍五入的话,可以这么写:
x_int = (int)(x_double + 0.5);
y_int = (int)(y_double + 0.5);
如果不在乎一个像素的误差,那0.5可以干脆不加。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询