首页 > 其他分享 >Android开发 - 用Math类方法计算弧度后转为角度解析

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

时间:2024-07-30 12:30:10浏览次数:15  
标签:float 指定 弧度 角度 360 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;	

标签:float,指定,弧度,角度,360,Android,Math
From: https://www.cnblogs.com/ajunjava/p/18332097

相关文章

  • android开发基础
    打印日志Log.e:表示错误信息,比如可能导致程序崩溃的异常。Log.w:表示警告信息。Log.i:表示一般消息。Log.d:表示调试信息,可把程序运行时的变量值打印出来,方便跟踪调试。Log.v:表示冗余信息。app开发语言Java是Android开发的主要编程语言,创建新项目时,Language栏默认选择了J......
  • Android ListView 详解
    AndroidListView详解介绍“Listview”是一种用户界面设计中的布局方式,它通过列表的形式展示信息,是一种将信息组织为条目(通常是行)的视图形式,每一项条目都是列表中的一行,可能包含文本、图像或其他元素。基本使用xml<?xmlversion="1.0"encoding="utf-8"?><RelativeLayout......
  • 使用 kivy 从 python 脚本的 buildozer 构建 android apk 时出错
    我想从使用kivy包构建的Python脚本构建apk为此,我使用googlecollab.这里是main.py脚本:importyoutube_dlfromkivy.appimportAppfromkivy.uix.boxlayoutimportBoxLayoutfromkivy.uix.buttonimportButtonfromkivy.uix.tex......
  • android u开机流程详细分析(中) - zygote
    5、zygoteZygote进程是Android中所有Java进程的父进程。Zygote进程在Init进程启动过程中被以service服务的形式启动。从android5.0开始,android开始支持64位的编译,zygote本身也就有了32位和64位的区别,所以在这里用ro.zygote属性来控制启动不同版本的zygote进程。init.rc位于......
  • android 14开机流程详细分析(上) - Boot ROM,Boot loader,kernel,init
    androidu开机流程详细分析本文基于android-14.0.0_r2源码AOSP架构AOSP的软件堆栈包含以下层:图1.AOSP软件堆栈架构下面列出了图1中使用的术语的定义:Android应用完全使用AndroidAPI开发的应用。GooglePlay商店广泛用于查找和下载Android应用,不过也......
  • android studio 调用第三方无源代码so
    androidstudio调用第三方无源代码so在AndroidStudio中调用第三方无源码的SO(共享库),你需要遵循以下步骤:将SO文件放置在项目中合适的位置。配置app的build.gradle文件,确保Gradle在构建应用时知道SO文件的位置。在Java/Kotlin代码中使用JNI接口加载SO库。......
  • Android 8.0 源码分析 (四) Activity 启动
    链接:https://juejin.cn/post/6844903983442558989前言我们熟知一般Android工程师都是在应用层上���发,不会涉及系统源码,但是如果你想往底层发展,或者深入插件化、Framework系统层等开发工作,如果不了解Android源码可是不行的,那么接下来我基于自己的理解跟学习来记录跟Android......
  • Android 8.0 源码分析 (二) Launcher 启动
    链接https://juejin.cn/post/6844903981504790541前言我们熟知一般Android工程师都是在应用层上开发,不会涉及系统源码,但是如果你想往底层发展,或者深入插件化、Framework系统层等开发工作,如果不了解Android源码可是不行的,那么接下来我基于自己的理解跟学习来记录跟Androi......
  • 记录一次IPhone和Android手机usb网卡驱动的移植过程
    记录一次IPhone和Android手机USB网卡的移植过程移植环境IPhoneUSB网卡的快速移植1.**添加驱动支持**2.USB连接IPhone手机,留意手机的`信任弹窗`并点击确定和输入密码3.检查USB网卡是否生成4.如果生成的网卡没有自动分配IP,安装udhcpc5.验证测试AndroidUSB网卡的快......
  • Android 10.0 Launcher 启动流程
    在前面SystemUI启动流程中说到,在SystemServer中会去启动各种系统服务,这里的launcher也是启动的其中一个服务ActivityManagerService去启动的。在android10之前,系统四大组件的启动都是在ActivityManagerService中,在android10中,单独抽出了一个ActivityTaskManagerService,主要......