Android获取两条线之间的夹角度数
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获取两条线之间的夹角度数相关推荐
- java计算两条线夹角_Android获取两条线之间的夹角度数
核心代码 centerX.centerY为公共点,xInView.yInView为触摸点的坐标 /** *获取两条线的夹角 * @param centerX * @param centerY * @p ...
- 【Unity3D 灵巧小知识点】 ☀️ | 求解 两个向量的夹角度数
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 . 包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助 Unity 将创意 ...
- 计算时针与分针之间的夹角
计算时针和分针之间的夹角 题目 思路 代码 题目 输入小时和分数,计算两哥指针之间的夹角度数! 思路 每一分钟,时针走过的角度是 360/12/60=0.5;分钟走过的角度是 360/60=6. 看谁 ...
- 正弦向量内积求夹角c语言,获取两个向量a,b之间的夹角的几种方法
获取两个向量a,b之间的夹角的几种方法 方法1: 通过两个向量的法向量的点乘的反余弦获取弧度,然后通过弧度获取角度 rad = Mathf.Acos(Vector3.Dot(a.normal,b.no ...
- android 获取设备旋转角度,获取Android设备的方向,Sensor和SensorManager实现手机旋转角度...
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1009/425.html 带有g-sensor的Android设备上可通过API ...
- Android 应用程序之间内容分享详解(二)
转载请注明出处:http://blog.csdn.net/xiaanming/article/details/9428613 Android 应用程序之间内容分享详解(一) 之前给大家分享了你开发的应 ...
- Android的intent之间复杂参数的传递
2019独角兽企业重金招聘Python工程师标准>>> Intent是Activity与Activity之间,Activity与Service之间传递参数的介质 Intent传递的参 ...
- android 打印流程图,Android实现Activities之间进行数据传递的方法
本文实例讲述了Android实现Activities之间进行数据传递的方法.分享给大家供大家参考.具体分析如下: 首先,先说明一下Activity的启动及关闭: 1. startActivity(In ...
- Android在片段之间传递数据
In this tutorial, we'll be developing an application that contains TabLayout, ViewPager and Fragment ...
最新文章
- go 指针变量和普通变量的转化_C语言 | 指向结构体变量的指针变量
- zigzag扫描matlab,ZIGZAG扫描的MATLAB实现 | 学步园
- UVa 122 Trees on the level
- J20170521-ts
- 有关 php __autoload 自动加载类函数的用法
- POJ 1422 Air Raid (最小路径覆盖)
- 前端学习(305):bootstrap4之工具方法
- ngix莫名挂掉 signal process started
- [Python] NotImplemented 和 NotImplementedError 区别
- 安装python时需要勾选_一体化污水处理设备安装时需要注意事项
- 作者:丁铖(1992-),男,华东师范大学计算机科学与软件工程学院硕士生。...
- 【正则表达式】JavaScript的exec()和search()方法
- 看寄存代码中的方式时,一定要看到方法的底部 (有时代码会在finally中写东西) 。
- vue项目中使用lib-flexible解决移动端适配
- XX公司信息化建设草案
- 专业词汇及解释(持续更新,自用)
- 魔兽世界怀旧服最新服务器开发时间,魔兽世界怀旧服明日开放,开服第一天“大部队”能升到多少级?...
- 利用谷歌安全令牌(google authenticator)为服务器ssh添加二次验证功能
- Ubuntu安装LXDE桌面环境
- LINUX学习之进程进阶
热门文章
- 浅析私有化即时通讯软件的用处有哪些
- 【web前端特效源码】使用HTML5+CSS3+JavaScript制作一个可拖动的拼图游戏动画效果~适合初学者~超简单~ |it前端开发
- 2019年,微信多开软件排行榜
- 25款很好看的液晶数字字体下载
- 【Qualcomm高通音频】如何区分配置ECM驻极体麦克风和MEMS硅麦克风
- EngineerCMS利用梦想CAD控件MXdraw进行图纸在线编辑,保存到服务器
- word选中段尾不选回车符
- 为什么有的人说话一定要带手势?生物学基础找到了
- 读后感——只是为了好玩(Just for Fun)-Linux之父林纳斯自传
- 新生赛第一题:dls的黑粉