一切看起来都很简单,直到我必须对其进行实际编程为止。
我有什么
我上传了一张图片,以更好地解释它。
我希望能够在旋转10度的灰色圆圈图像时计算红色按钮的新坐标(x1y1,x2y2)。
对于一个懂数学的人来说,这应该不难实现,但是我没有设法找到合适的解决方案。我也在这里搜索,找不到有效的解决方案。任何帮助是极大的赞赏。
谢谢
如下菲利斯所说,有效的解决方案是:
-首先要注意旋转角度,在每次重绘时,只需将其递增即可
angle = angle+mainRotationAngle;
float x = (float) (center.X + Math.cos(angle*Math.PI / 180F) * radius
float y = (float) (center.Y + Math.sin(angle*Math.PI / 180F) * radius
button.setX(x);
button.setY(y);
最佳答案
如果与按钮保持初始角度,然后修改角度以产生旋转,则会更容易。所以在伪代码中:
newAngle = Angle+rot;
xbutton = center.x+cos(newAngle)*radius;
ybutton = center.y+sin(newAngle)*radius;
如果您确实只有按钮的坐标,则可以使用伪代码
atan2
函数将它们转换为角度:buttonAngle = atan2(button.y-center.y,button.x-center.x);
关于android - 在Android上的Circle上查找点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5789232/