Android获取两条线之间的夹角度数

核心代码

centerX、centerY为公共点,xInView、yInView为触摸点的坐标

 /***获取两条线的夹角* @param centerX* @param centerY* @param xInView* @param yInView* @return*/public static int getRotationBetweenLines(float centerX, float centerY, float xInView, float yInView) {double rotation = 0;double k1 = (double) (centerY - centerY) / (centerX * 2 - centerX);double k2 = (double) (yInView - centerY) / (xInView - centerX);double tmpDegree = Math.atan((Math.abs(k1 - k2)) / (1 + k1 * k2)) / Math.PI * 180;if (xInView > centerX && yInView < centerY) {  //第一象限rotation = 90 - tmpDegree;} else if (xInView > centerX && yInView > centerY) //第二象限{rotation = 90 + tmpDegree;} else if (xInView < centerX && yInView > centerY) { //第三象限rotation = 270 - tmpDegree;} else if (xInView < centerX && yInView < centerY) { //第四象限rotation = 270 + tmpDegree;} else if (xInView == centerX && yInView < centerY) {rotation = 0;} else if (xInView == centerX && yInView > centerY) {rotation = 180;}return (int) rotation;}

具体使用

 @Overridepublic boolean onTouch(View v, MotionEvent event) {float centerX = img_colors.getWidth() / 2;float centerY = img_colors.getHeight() / 2;setPointerRotation(Tools.getRotationBetweenLines(centerX, centerY, event.getX(), event.getY()));return true;}

Android获取两条线之间的夹角度数相关推荐

  1. java计算两条线夹角_Android获取两条线之间的夹角度数

    核心代码 centerX.centerY为公共点,xInView.yInView为触摸点的坐标 /** *获取两条线的夹角 * @param centerX * @param centerY * @p ...

  2. 【Unity3D 灵巧小知识点】 ☀️ | 求解 两个向量的夹角度数

    Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 . 包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助 Unity 将创意 ...

  3. 计算时针与分针之间的夹角

    计算时针和分针之间的夹角 题目 思路 代码 题目 输入小时和分数,计算两哥指针之间的夹角度数! 思路 每一分钟,时针走过的角度是 360/12/60=0.5;分钟走过的角度是 360/60=6. 看谁 ...

  4. 正弦向量内积求夹角c语言,获取两个向量a,b之间的夹角的几种方法

    获取两个向量a,b之间的夹角的几种方法 方法1: 通过两个向量的法向量的点乘的反余弦获取弧度,然后通过弧度获取角度 rad = Mathf.Acos(Vector3.Dot(a.normal,b.no ...

  5. android 获取设备旋转角度,获取Android设备的方向,Sensor和SensorManager实现手机旋转角度...

    http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1009/425.html 带有g-sensor的Android设备上可通过API ...

  6. Android 应用程序之间内容分享详解(二)

    转载请注明出处:http://blog.csdn.net/xiaanming/article/details/9428613 Android 应用程序之间内容分享详解(一) 之前给大家分享了你开发的应 ...

  7. Android的intent之间复杂参数的传递

    2019独角兽企业重金招聘Python工程师标准>>> Intent是Activity与Activity之间,Activity与Service之间传递参数的介质 Intent传递的参 ...

  8. android 打印流程图,Android实现Activities之间进行数据传递的方法

    本文实例讲述了Android实现Activities之间进行数据传递的方法.分享给大家供大家参考.具体分析如下: 首先,先说明一下Activity的启动及关闭: 1. startActivity(In ...

  9. Android在片段之间传递数据

    In this tutorial, we'll be developing an application that contains TabLayout, ViewPager and Fragment ...

最新文章

  1. go 指针变量和普通变量的转化_C语言 | 指向结构体变量的指针变量
  2. zigzag扫描matlab,ZIGZAG扫描的MATLAB实现 | 学步园
  3. UVa 122 Trees on the level
  4. J20170521-ts
  5. 有关 php __autoload 自动加载类函数的用法
  6. POJ 1422 Air Raid (最小路径覆盖)
  7. 前端学习(305):bootstrap4之工具方法
  8. ngix莫名挂掉 signal process started
  9. [Python] NotImplemented 和 NotImplementedError 区别
  10. 安装python时需要勾选_一体化污水处理设备安装时需要注意事项
  11. 作者:丁铖(1992-),男,华东师范大学计算机科学与软件工程学院硕士生。...
  12. 【正则表达式】JavaScript的exec()和search()方法
  13. 看寄存代码中的方式时,一定要看到方法的底部 (有时代码会在finally中写东西) 。
  14. vue项目中使用lib-flexible解决移动端适配
  15. XX公司信息化建设草案
  16. 专业词汇及解释(持续更新,自用)
  17. 魔兽世界怀旧服最新服务器开发时间,魔兽世界怀旧服明日开放,开服第一天“大部队”能升到多少级?...
  18. 利用谷歌安全令牌(google authenticator)为服务器ssh添加二次验证功能
  19. Ubuntu安装LXDE桌面环境
  20. LINUX学习之进程进阶

热门文章

  1. 浅析私有化即时通讯软件的用处有哪些
  2. 【web前端特效源码】使用HTML5+CSS3+JavaScript制作一个可拖动的拼图游戏动画效果~适合初学者~超简单~ |it前端开发
  3. 2019年,微信多开软件排行榜
  4. 25款很好看的液晶数字字体下载
  5. 【Qualcomm高通音频】如何区分配置ECM驻极体麦克风和MEMS硅麦克风
  6. EngineerCMS利用梦想CAD控件MXdraw进行图纸在线编辑,保存到服务器
  7. word选中段尾不选回车符
  8. 为什么有的人说话一定要带手势?生物学基础找到了
  9. 读后感——只是为了好玩(Just for Fun)-Linux之父林纳斯自传
  10. 新生赛第一题:dls的黑粉