gpt4 book ai didi

android - 计算android中三点之间的角度

转载 作者:行者123 更新时间:2023-11-29 22:08:15 25 4
gpt4 key购买 nike

我很难理解我的代码有什么问题。

Point A = new Point((int)CENTER_X, (int)CENTER_Y);
Point B = new Point((int)me.getX(), (int)me.getY());
Point C = new Point((int)CENTER_X, (int)B.y);
double AB;
double AC;
double BC;
AB = Math.sqrt(Math.pow(B.x - A.x, 2) + Math.pow(B.y - A.y, 2));
AC = Math.sqrt(Math.pow(C.x - A.x, 2) + Math.pow(C.y - A.y, 2));
BC = Math.sqrt(Math.pow(C.x - B.x, 2) + Math.pow(C.y - B.y, 2));
degre = (AB * AB - AC * AC - BC * BC) /( 2 * AC * AB);
degre = Math.acos(degre*(180/Math.PI));

我总是得到 degre = 0NaN。这是为什么?

最佳答案

你对什么时候做弧度转换感到困惑,你需要计算比率,然后做 arccos (这将返回以弧度为单位的角度),然后像这样转换为度数:

double float ratio = (AB * AB + AC * AC - BC * BC) /( 2 * AC * AB);
degre = Math.acos(ratio)*(180/Math.PI);

关于android - 计算android中三点之间的角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10243663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com