gpt4 book ai didi

java - 如何使用余弦定律计算三角形的内角

转载 作者:行者123 更新时间:2023-11-29 03:02:52 24 4
gpt4 key购买 nike

我正在为我的学校做一个项目,我必须在其中创建一个计算三角形角度的方法。我们正在使用余弦定律,但恐怕我根本不了解它。我知道有一个我可以使用的公式,但我已经在 wolfram alpha 中输入了值,但它们完全不同(当我取出 Math.acos 部分时)或者根本不返回数字(与数学.acos)。我已经尝试了很多不同的东西(包括只取出 Math.acos 部分看看会发生什么,我得到了 1 或 3),但这是我目前所拥有的:

public static double angle(double a, double b, double c) {
return Math.acos((Math.pow(a, 2) + Math.pow(b, 2) + Math.pow(c, 2)) / (2 * b * c));
}

参数代表每条边的长度。我不断收到结果“NaN”。我知道 Math.acos 方法将返回,如果接收到的数字超过 1,但是当我根本不了解我在使用什么时,很难解决这个问题。感谢您提供任何帮助,谢谢!

最佳答案

你的代码有一些错误,正确的公式是cos(y) = (a^2 + b^2 - c^2)/2ab,我在下面修正了:

public static double angle(double a, double b, double c) {
return Math.acos((Math.pow(a, 2) + Math.pow(b, 2) - Math.pow(c, 2)) / (2 * a * b));
}

public static void main(String[] args) {
System.out.println(angle(10, 10, 10));
System.out.println(Math.toDegrees(angle(10, 10, 10)));
}

结果是:

run:
1.0471975511965979
60.00000000000001
BUILD SUCCESSFUL (total time: 0 seconds)

希望这对您有所帮助。

关于java - 如何使用余弦定律计算三角形的内角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33748054/

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