2020.03.23
三角関数 sin
はじめに
sin(正弦)とは、単位円(半径1)の円周上の任意の点(x,y)と円の中心を結んだ直線と、x軸が作る角度をθとするとき、その円周上のy座標がsinθです。θはx軸からの反時計回り(左周り)の角度(ラジアン)です。
Math.sinメソッド
public static double Math.sin( double a )
・引数aで指定した角度の正弦 (サイン) を返します。 パラメータ a : ラジアンで指定した角度。 戻り値 aの正弦
Javaソースコード
Sin1.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024
public class Sin1 { // 角度の単位を度で指定できるsin static double sin( double deg ) { double rad; // 度をラジアンに変換 rad = Math.toRadians( deg ); // サインを計算 return Math.sin( rad ); } // メイン public static void main( String[] args ) { // サイン 0度 → 0.0 System.out.println( sin( 0.0 ) ); // サイン 90度 → 1.0 System.out.println( sin( 90.0 ) ); // サイン 30度 → 0.5 System.out.println( sin( 30.0 ) ); // サイン 45度 → 約0.71 System.out.println( sin( 45.0 ) ); } }
実行結果
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis Sin1.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac Sin1.java
実行
C:\talavax\javasample>java Sin1
出力結果
0.0 1.0 0.49999999999999994 0.7071067811865475
Javaソースコードの解説
ここからは、このソースコードを上から順番に解説していきます。
001
public class Sin1 {
クラス名を、Sin1としています。
002 003
// 角度の単位を度で指定できるsin static double sin( double deg )
005 006 007
double rad; // 度をラジアンに変換 rad = Math.toRadians( deg );
角度degをラジアンに変換し変数radに代入しています。この変換にはMath_toRadiansメソッドを使っています。
Math.toRadiansメソッド
public static double Math.toRadians( double a )
・引数aで指定した角度をラジアンに変換した値を返します。 パラメータ a : 角度(単位:度)[ 戻り値 ラジアン
009 010
// サインを計算 return Math.sin( rad );
013 014
// メイン public static void main( String[] args ) {
このmainメソッドからプログラムを実行します。
015 016 017 018 019 020 021 022
// サイン 0度 → 0.0 System.out.println( sin( 0.0 ) ); // サイン 90度 → 1.0 System.out.println( sin( 90.0 ) ); // サイン 30度 → 0.5 System.out.println( sin( 30.0 ) ); // サイン 45度 → 約0.71 System.out.println( sin( 45.0 ) );
0度、90度、30度、45度を新しく作成したsinメソッドに渡して、printlnメソッドでコンソール出力しています。
以上です。
関連コンテンツ
円の中心座標(0,0)、半径rで表される円の円周上のランダムな座標を求めるJavaのソースコードを紹介しています。ラジアンを乱数で発生して座標を計算しています。
2019.09.27
円の中心座標(0,0)、半径rで表される円の円周上のランダムな座標を求めるJavaのソースコードを紹介しています。度単位の角度の乱数をラジアンに変換して座標を計算しています。
2019.09.27