我有一个C应用程序,已将我的image(gif)对象加载到屏幕上。现在,我希望Image对象与指针一起在一个轴上旋转。
意味着无论我将指针移到屏幕上的任何位置,我的图像都应该从固定点旋转...我该怎么做?
我看过类似的公式
newx = cos(angle) * oldx - sin(angle) * oldy
newy = sin(angle) * oldx + cos(angle) * oldy
但是它也输入角度..但是我没有角度...我有指针坐标...我如何使对象根据鼠标指针移动?
最佳答案
说真的...您在中学学习了三角学,对吗?
angle = arctan((pointerY - centerY) / (pointerX - centerX))
在C中:
// obtain pointerX and pointerY; calculate centerX as width of the image / 2,
// centerY as heigth of the image / 2
double angle = atan2(pointerY - centerY, pointerX - centerX);
double newX = cos(angle) * oldX - sin(angle) * oldY
double newY = sin(angle) * oldX + cos(angle) * oldY