一个轮胎的旋转角度的算法问题 求解
时间:2011-10-09
来源:互联网
一个正面的圆形轮胎
我用手指来滑动从而可以控制轮胎的正向逆向的旋转,可是角度的计算算法问题一直困扰着我,请解

通过手指放下和拿起来的时候我计算出了角度,可是这还远远不够:
private float angleCalculator(float x1, float y1, float x2, float y2) {
float x = -centerX;
float y = -centerY;
double a=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
double b=Math.sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2));
double c=Math.sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y));
double cosA=(b*b+c*c-a*a)/(2*b*c);
double arcA = Math.acos(cosA);
double angleA = arcA * 180 /Math.PI;
return (float)angleA;
}
求解 谢谢 不甚感激
我用手指来滑动从而可以控制轮胎的正向逆向的旋转,可是角度的计算算法问题一直困扰着我,请解

通过手指放下和拿起来的时候我计算出了角度,可是这还远远不够:
private float angleCalculator(float x1, float y1, float x2, float y2) {
float x = -centerX;
float y = -centerY;
double a=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
double b=Math.sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2));
double c=Math.sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y));
double cosA=(b*b+c*c-a*a)/(2*b*c);
double arcA = Math.acos(cosA);
double angleA = arcA * 180 /Math.PI;
return (float)angleA;
}
求解 谢谢 不甚感激
作者: fairytale_zyy 发布时间: 2011-10-09
你是用余弦定理做的吧
你首先应该把公式简化一下啊,你这样算误差很大的
b^2+c^2-a^2这个应该直接代入坐标计算
通过坐标参数直接算出cosA
你首先应该把公式简化一下啊,你这样算误差很大的
b^2+c^2-a^2这个应该直接代入坐标计算
通过坐标参数直接算出cosA
作者: wtc860104 发布时间: 2011-10-09
还有一种方法更好,就是只算出两个点之间的距离,其实就是弦的长度L,然后你的sin2A=L/2R
作者: wtc860104 发布时间: 2011-10-09
写错了,是sinA/2=L/2R
R是半径
R是半径
作者: wtc860104 发布时间: 2011-10-09
我觉得,手指的起点和落点,应该是围绕圆心的。也就是说,如果手指从(1,0)划到(0,0)是没有道理的。所以我觉得你不能直接拿两个点加圆心来确定三角形。
在这个基础上,手指的起落点与圆心肯定会形成一个等腰三角形。你可以以圆心为坐标原点,我觉得好像不是很难算吧。注意,半径不是固定不变的,手指可以在靠近轮胎中轴的地方,也可以在靠近边缘的地方。
在这个基础上,手指的起落点与圆心肯定会形成一个等腰三角形。你可以以圆心为坐标原点,我觉得好像不是很难算吧。注意,半径不是固定不变的,手指可以在靠近轮胎中轴的地方,也可以在靠近边缘的地方。
作者: bayougeng 发布时间: 2011-10-09
引用 4 楼 bayougeng 的回复:
我觉得,手指的起点和落点,应该是围绕圆心的。也就是说,如果手指从(1,0)划到(0,0)是没有道理的。所以我觉得你不能直接拿两个点加圆心来确定三角形。
在这个基础上,手指的起落点与圆心肯定会形成一个等腰三角形。你可以以圆心为坐标原点,我觉得好像不是很难算吧。注意,半径不是固定不变的,手指可以在靠近轮胎中轴的地方,也可以在靠近边缘的地方。
我觉得,手指的起点和落点,应该是围绕圆心的。也就是说,如果手指从(1,0)划到(0,0)是没有道理的。所以我觉得你不能直接拿两个点加圆心来确定三角形。
在这个基础上,手指的起落点与圆心肯定会形成一个等腰三角形。你可以以圆心为坐标原点,我觉得好像不是很难算吧。注意,半径不是固定不变的,手指可以在靠近轮胎中轴的地方,也可以在靠近边缘的地方。
呵呵 算法中
float x = -centerX;
float y = -centerY;就是轮胎的圆心了
作者: fairytale_zyy 发布时间: 2011-10-09
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28