Android开发 - 用Math类方法计算弧度后转为角度解析

方法参数解析

Math.atan2(y, x):将两个参数计算出弧度

  • 参数解析
    • y:指定点的 y 坐标的数字;在三角计算中为对边边长;在圆的计算弧度中为指定y点中心点的距离指定点y减去中心点的y即可得出
    • x:指定点的 x 坐标的数字;在三角计算中为对边边长;在圆的计算弧度中为指定x点中心点的距离指定点x减去中心点的x即可得出

Math.toDegrees(double angRad)将参数从弧度转换为角度

  • 参数解析
    • angRad:弧度

方法的使用

//在圆弧(或圆形)中的取角度法
//取圆心点
int centerX = getWidth() / 2;
int centerY = getHeight() / 2;

//取指定点相对于圆心点的弧度
float dx = x - centerX;
float dy = y - centerY;
float andRad = (float) Math.atan2(dy, dx);

//弧度转换为角度
float angle = (float) Math.toDegrees(andRad);

//如果需要赋值给圆弧使用触控点进行操纵任意角度,则需要定义从0到360的固定圆角度
float startAngle = 130;	//起点角度

//纠正起点角度与最大圆的度数(不管最大弧度是多少,圆的度数肯定是固定360),否则会出现偏差值
angle = (angle - startAngle + 360) % 360;

//最后得出触控点的精准角度
float sweepAngle = angle;	
posted @ 2024-07-30 12:14  阿俊学JAVA  阅读(36)  评论(0编辑  收藏  举报