我个人觉得角度的计算这样比较好
/**
* 求两点之间的夹角
* @param px1
* @param py1
* @param px2
* @param py2
* @return
*/
public static float getAngle(float px1, float py1, float px2, float py2) {
// 两点的x、y值
float x = px2 - px1;
float y = py2 - py1;
double hypotenuse = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
// 斜边长度
double cos = x / hypotenuse;
double radian = Math.acos(cos);
// 求出弧度
float angle = (float) (180 / (Math.PI / radian));
// 用弧度算出角度
if (y < 0) {
angle = 180 + (180 - angle);
} else if ((y == 0) && (x < 0)) {
angle = 180;
}else if(x==0&&y==0){
angle=0;
}
return angle;
}