CodeGym /Java Blog /ランダム /Java の Math.cos() メソッド
John Squirrels
レベル 41
San Francisco

Java の Math.cos() メソッド

ランダム グループに公開済み
Java のMathクラスには、多数の数学関数が含まれています。三角関数は、プログラミングにとって最も重要な関数の 1 つです。これらの関数の 1 つはMath.cos()です。

プログラミングに三角関数?

もちろん、仕事で三角関数にほとんど遭遇しないプログラマーもいますが、それでも、多くのタスクにとって、これらの関数は非常に重要です。たとえば、コンピュータ グラフィックスやゲーム ロジックなどです。特に、サインとコサインは、オブジェクトや世界を回転するために使用できる、いわゆる回転行列に関係します。マップに沿ったパスの長さを計算する必要がある場合は、三角関数が便利です。

Java の Math.cos() メソッド

Mathクラスのdouble cos (double x)メソッドは、xのコサイン値を返します。ここで、xは引数、ラジアン単位の角度です。Java.lang.Math.cos()メソッドの宣言は次のとおりです。

double cos(double x)
角度をラジアンで計算することに慣れていない場合は、特別な関数を使用してラジアンを度に変換できます。

double toDegrees(double angRad)
度をラジアンに変換する逆関数もあり、これも便利です。

double toRadians(double angDeg)
以下はjava.lang.Math.cos() のコード例です。

public class CosExample {
   public static void main(String[] args) {
       
       int x1 = 1;
       double x2 = 0.5;
       double x3 = Math.PI;

       //using java.lang.Math.cos() for 1, 0.5 and PI rad 

       System.out.println("cosine of " + x1 + " rads = " + Math.cos(x1));
       System.out.println("cosine of  " + x2 + " rads = " + Math.cos(0));
       System.out.println("cosine  " + x3 + " rads = " + Math.exp(x3));


       //here we declare an 60 degrees angle

       double degree = 60;
       //here we use Math.toRadians to convert 60 degrees to radians, use the cos() method
       //to calculate the cosine of 60 degrees angle and print the result out
       System.out.println("cosine of " + degree + " degrees = " + Math.cos(Math.toRadians(degree)));

   }
}
出力は次のとおりです。
1 rads のコサイン = 0.5403023058681398 0.5 rads のコサイン = 1.0 cos 3.141592653589793 rads = 23.140692632779267 60.0 度のコサイン = 0.5000000000000001

いくつかの特殊なケース

数学には、不定形、正および負の無限大の概念があります。数値を 0.0 で割ると、その数値の正負に応じて、正または負の無限大が得られます。不定形はさまざまな方法で取得できます。たとえば、ゼロをゼロで除算したり、無限大を無限大で除算しようとしたとします。Java には、 Double.NaN (数値ではなく、一種の不定形式と言えるかもしれません)、Double.POSITIVE_INFINITY、Double.NEGATIVE_INFINITY など、Doubleクラスの特別な定数があります。Math.cos()メソッドは、これら 3 つの概念に直面した場合に特定の方法で動作します。引数が NaN または無限大の場合、Math.cos() はNaN になります。コード例を見てみましょう:

public class CosSpecialCases {

       public static void main(String[] args) {

           double positiveInfinity = Double.POSITIVE_INFINITY;
           double negativeInfinity = Double.NEGATIVE_INFINITY;
           double nan = Double.NaN;

           //The argument is positive infinity, the output is NaN
           System.out.println(Math.cos(positiveInfinity));

           //The argument is negative infinity, the output NaN
           System.out.println(Math.cos(negativeInfinity));

           //The argument is NaN, the output is NaN
           System.out.println(Math.cos(nan));
       }
   }
出力は次のとおりです。
ナン ナン ナン

初心者向けのサインとコサインのタスク

Math.cos()Math.sin()を使用して時計の針の動きをプログラムしてみます。このタスクにグラフィックスを (処理、JavaFX などを使用して) 添付することもでき、アニメーション化された時計が表示されます。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION