Math.sin(x)
(ラジアン単位のx
)を、ラジアン単位ではなく度単位のx
として得られる結果に変換したいと思います。
通常のメソッドとJava組み込みの度とラジアン間の変換メソッドを使用しましたが、Math.sin()
メソッドに渡す引数はすべてラジアンとして扱われるため、無駄な努力への私の転換。
Sin Inputの出力は、入力がMath.sin()
メソッドのようにラジアンではなく度で扱われるかのように与えられるようにしたいです。
JavaのMath
ライブラリは、度とラジアンの間で変換するメソッドを提供します: toRadians および toDegrees :
public class examples
{
public static void main(String[] args)
{
System.out.println( Math.toRadians( 180 ) ) ;
System.out.println( Math.toDegrees( Math.PI ) ) ;
}
}
入力が度単位の場合、sin
に入る数値をラジアンに変換する必要があります。
double angle = 90 ;
double result = Math.sin( Math.toRadians( angle ) ) ;
System.out.println( result ) ;
ラジアン値がaの場合、ラジアン値に(22/7)/ 180を掛けます。
上記の状況では、コードは次のようになります。-
double rad = 45 // value in radians.
double deg ;
deg = rad * Math.PI/180; // value of rad in degrees.
次のようにラジアンを度に変換できます。
double rad = 3.14159;
double deg = rad*180/Math.PI;
また、逆に度をラジアンに変換します(pi/180を掛けます)。 Math.sinの「入力メソッド」を変更することはできません(ラジアンの代わりに度を使用するように関数に指示することはできません)。パラメーターとして渡すものだけを変更できます。プログラムの残りの部分を度で動作させたい場合は、特にMath.sin()の場合はラジアンに変換する必要があります。つまり、度の値に円周率を掛け、180で割ります。これをMath.sin()で使用するには、次のように変換します。
double angle = 90; //90 degrees
double result = Math.sin(angle*Math.PI/180);
変換を単独で使用しても何も変更されません。変換された値をsin関数に渡す必要があります。