在android studio中,我一直在努力获取一些可旋转并面向特定坐标的图像视图。使用atan2,我已将imageview的旋转设置为此。
imageview.setRotation((float)
atan2(imageview.getY()-<coordinate y wanted to face>,
imageview.getX()-<coordinate x wanted to face>)
);
我注意到每次运行这行代码时,它每次都面对相同的方向(方向在可绘制资源中的朝向,是的,运行它的方法确实有效)
那么,将atan2(theta结果)的结果转换为float会导致其丢失值还是什么?
我知道我可以根据需要使用矩阵,但是我正在尝试使用更有效的代码。
编辑:结果atan2返回的弧度...(1弧度= 57.3度)
最佳答案
atan2()
的返回值以弧度为单位,而setRotation()
的返回参数应以度为单位。
你应该换成
imageView.setRotation((float)Math.toDegrees(atan2(..., ...)));
关于java - 将theta(angle)转换为float会起到什么作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30250331/