Last updated: 2015 -2014. Kajiyama                    [ 目次に戻る ]

Processingの三角関数


  1. 数学関数

    ・三角関数はProcessingに最初から組み込まれている.


  2. ラジアン定数  円周率 π

      機能processingの円周率 π
      円周率 π  180゜PI;
      1/4π  45゜QUARTER_PI;
      1/2π  90゜HALF_PI;
      2π  360゜TWO_PI;


      ・次のソースファイルをコピーして,Processing開発環境のエディタ領域に貼り付ける.

      //円周率
      
      println( PI );      //円周率πの値
      println( HALF_PI ); //1/2πの値
      println( TWO_PI );  //2πの値
      
      コンソール画面に実行結果
      
      3.1415927
      1.5707964
      6.2831855
      



  3. 関数の角度の値はラジアンで入力する.60進法の「度・分・秒」はラジアンに換算して使用する.

      機能processingの角度変換
      ラジアンを度に変換degrees( );
      度をラジアンに変換radians( );


    1. 角度とラジアンの関係

      ・弧度法 180度 = πラジアン

    2. radians ( ) は度をラジアンに直接変換

      ・1度 = π/180 ラジアン, 1ラジアン = (180/π)度

      ・次のソースファイルをコピーして,Processing開発環境のエディタ領域に貼り付ける.

      // 角30°をラジアンに変換 30/180*π
      
      float  deg = 30;//角30°
      float  rad = deg * (PI/180.0);// 度->ラジアンの変換式
      
      println( radians(30) );
      println( rad );
      
      コンソール画面に実行結果
      
      
      
      
      0.5235988 ラジアン
      0.5235988 ラジアン
      


    3. degrees ( ) はラジアンを度に直接変換

      ・次のソースファイルをコピーして,Processing開発環境のエディタ領域に貼り付ける.

      // 1/6πラジアンを度に変換 π・1/6 = π・30/180 = 角30°
      
      float  rad = 0.5235988;
      float  deg = rad * (180.0 / PI);// ラジアン->度の変換式
      
      println( degrees(0.5235988) );
      println( deg );
      
      コンソール画面に実行結果
      
      
      
      
      30.0 度
      30.0 度
      



  4. 三角関数 trigonometric function          

      機能processingの三角関数
      サイン 正弦関数sin(θ);
      コサイン 余弦関数cos(θ);
      タンジェント正接関数tan(θ);
      逆三角関数 1/三角関数
      アークサイン 逆正弦関数asin(θ); 1/sin(θ)
      アークコサイン 逆余弦関数acos(θ); 1/cos(θ)
      アークタンジェント 逆正接関数atan(θ); 1/tan(θ)
      座標位置のラジアン角度atan2 ( x, y );


    1. 三角関数

      ・参考 三角関数 -wikipedia

    2. 三角関数と角度

      ・角度の単位はラジアンを使用する.

      ・次のソースファイルをコピーして,Processing開発環境のエディタ領域に貼り付ける.

      //θ=30度の三角関数
      
      println(sin (radians(30)));//sin (θ)正弦関数
      println(cos (radians(30)));//cos (θ)余弦関数
      println(tan (radians(30)));//tan (θ)正接関数
      
      コンソール画面に実行結果
      
      0.5
      0.8660254
      0.57735026
      


    3. 逆三角関数と角度

      ・角度の単位はラジアンを使用する.

      ・次のソースファイルをコピーして,Processing開発環境のエディタ領域に貼り付ける.

      //θ=30度の逆三角関数
      
      //asin (θ)逆正弦関数
      println(asin (radians(30)));  // y=arcsin(x):y=sin-1 x ⇔ x=sin y
      //acos (θ)逆余弦関数
      println(acos (radians(30))); //y=arccos(x):y=cos-1 x ⇔ x=cos y
      //atan (θ)逆正接関数
      println(atan (radians(30))); // y=arctan(x):y=tan-1 x ⇔ x=tan y
      
      コンソール画面に実行結果
      
      
      0.5510696
      
      1.0197268
      
      0.4823479
      


  5. 関数のグラフ

    1. Processingのキャンバスの2次元座標系

      ・キャンバスの二次元の表示画面には,

       それぞれのピクセル(画素)の位置にXY座標が与えられている.

      ・この座標系は,算数や数学で習ったものとは,

       Y軸の向きが違うので,注意が必要である.

    2. サインの曲線を描く

      //サインカーブを描く
      
      void setup() {
        //キャンバス(実行画面)の設定
        size(370, 300); //ピクセル単位で大きさを指定する
        background(255);//キャンバスの背景色 白
      }
      
      void draw() {
       line(0,height/2,width,height/2);//y軸
       for(int i = 0; i < width; i = i+5) {
        ellipse(i, height/2 + sin(radians(i)) * (height/3), 5, 5 );
       }
       
      //save("trigonometric_1.jpg");// 実行結果を画像形式で保存
      }
      
      
      実行結果
      


    3. コサインの曲線を描く

      //コサインカーブを描く
      
      void setup() {
        //キャンバス(実行画面)の設定
        size(370, 300); //ピクセル単位で大きさを指定する
        background(255);//キャンバスの背景色 白
      }
      
      void draw() {
       line(0,height/2,width,height/2);//y軸
       for(int i = 0; i < width; i = i+5) {
        ellipse(i, height/2 + cos(radians(i)) * (height/3), 5, 5 );
       }
       
      //save("trigonometric_2.jpg");// 実行結果を画像形式で保存
      }
      
      
      実行結果
      


    4. タンゼントの曲線を描く

      //タンゼントカーブを描く
      
      void setup() {
        //キャンバス(実行画面)の設定
        size(370, 300); //ピクセル単位で大きさを指定する
        background(255);//キャンバスの背景色 白
      }
      
      void draw() {
       line(0,height/2,width,height/2);//y軸
       for(int i = 0; i < width; i = i+1) {
        ellipse(i, height/2 + tan(radians(i))* (height/60) , 5, 5 );
       }
       
      //save("trigonometric_3.jpg");// 実行結果を画像形式で保存
      }
      
      
      実行結果
      

[ 目次に戻る ]