使用 Math 类将余弦转换为度数

Jes*_* M. 3 java math

我不知道我是否对正弦、余弦和正切有根本性的误解,或者我对 Math 类的某些方法有误解,或者我错过了其他一些东西,但我有点困惑。

我有一个 B = 90 度的直角三角形 ABC。AB 是垂直的,BC 是平的,AC 是斜边。AB = 125 和 AC = 150 的长度值。我想找到角度 A 的值。

在此处输入图片说明

我首先尝试找到余弦,然后我想将余弦转换为度数。

double AB = 125;
double AC = 150;


double angleA = Math.cos(AB / AC);
double angleADegrees = Math.toDegrees(angleA);
println(angleADegrees);
Run Code Online (Sandbox Code Playgroud)

编写的程序返回 57.295。如果我在我的计算器上尝试,我会得到不同的答案。如果我在计算器上计算得出余弦 = 125/150,我会得到 0.8333。Cos^-1(.83333) = 33.5573。奇怪的是 57 + 33 + 90 = 180。我上面的程序以某种方式确定了角度 C 而不是角度 A 的值。我计算余弦是错误的还是误用了 Math 类的方法?我不知道为什么我的程序不返回 33,我认为这是角度 A 的值。

Wil*_*sem 5

您可以通过乘以 将弧度转换为度数180/Math.PI,此外,反余弦(或 cos^-1 就像一些教科书所表示的那样)是Math.acos方法(a代表arc)。

因此

double AB = 125;
double AC = 150;

double angleA = Math.acos(AB / AC);
println(angleA*180.0d/Math.PI);
Run Code Online (Sandbox Code Playgroud)

将解决问题。

如果你想找到 angle C,你可以通过编码来计算:

double angleCDeg = 90.0d-angleA*180.0d/Math.PI;//angle in degrees.
double angleC = angleC*Math.PI/180.0d;//angle in radians.
Run Code Online (Sandbox Code Playgroud)