我使用Math.cos
和Math.sin
但它返回我意外的結果像這樣:如何使用Math.cos()&Math.sin()?
Angle Sin Cos
354 0.8414 -0.5403
352 0.1411 0.98998
350 -0.958 -0.2836
爲什麼我得到這些結果?
我使用Math.cos
和Math.sin
但它返回我意外的結果像這樣:如何使用Math.cos()&Math.sin()?
Angle Sin Cos
354 0.8414 -0.5403
352 0.1411 0.98998
350 -0.958 -0.2836
爲什麼我得到這些結果?
你想使用度?請記住,sin
和cos
正在等待弧度。
Math.cos(Math.toRadians(354))
Math.cos
和Math.sin
採取angles in radians,不度。所以,你可以使用:
double angleInDegree = 354;
double angleInRadian = Math.toRadians(angleInDegree);
double cos = Math.cos(angleInRadian); // cos = 0.9945218953682733
是的,我犯了一個新手錯誤。感謝您的解決方案。 – user1782922
+1或使用'Math.cos(Math.toRadians(354))' – Pshemo
@Pshemo確實好多了。修訂。 – assylias
public static double sin(double a)
Parameters:
a - an angle, in radians.
Returns:
the sine of the argument.
的答案都不配我的需求。這是我有:
竇度在度(不輻射)。 這是你如何把它放回一個度角:
double angle = Math.toDegree(Math.asin(sinusInDegree));
解釋:如果你有一個三角形的兩面,這只是爲我工作的解決方案。您可以使用正常度數度量來計算所有內容,但您必須將Math.asin()
轉換回正確度。 :)
您也可以使用此:
degrees *= Math.PI/180;
Math.cos(degrees)
我認爲'Math#toRadians()'更具可讀性,但也要感謝這樣提及;) – Nicofisi
你真的應該接受他的答案是正確的。 – Budius