三角関数のグラフ <C言語>


C言語には三角関数を計算する関数が用意されています。
したがって、y = sinxの正弦曲線を簡単に書くことができます。

<書式>
#include <math.h>
double sin(double x)

0度から360度までを20度刻みで
sin関数の引数に渡しています。

ただし、渡す値は度数ではなくラジアンです。

度数×円周率÷180

の計算式で、度数をラジアンに変換しています。

円周率はヘッダファイル(math.h)にM_PIとして定義されていることが多いです。
定義されていない場合はマクロで定義してください。

    17          for (int i = 0; i <= 360; i = i+DEG){
    18                  radian = i*M_PI/180;
    19                  tmp = sin(radian);
    20
    21                  y = (int) (tmp*10);
    22
    23                  locate(x, 10-y);
    24                  printf("%s", "+");
    25
    26                  x = x+2;
    27          }


サンプルコード

     1  #include <stdio.h>
     2  #include <stdlib.h>
     3  #include <math.h>
     4
     5  #define locate(x,y)     printf("\e[%d;%dH", y+1, x+1)
     6  #define DEG             20
     7
     8  int main(void){
     9
    10          double radian = 0.0;
    11          double tmp = 0.0;
    12          int x = 0;
    13          int y = 0;
    14
    15          system("clear");
    16
    17          for (int i = 0; i <= 360; i = i+DEG){
    18                  radian = i*M_PI/180;
    19                  tmp = sin(radian);
    20
    21                  y = (int) (tmp*10);
    22
    23                  locate(x, 10-y);
    24                  printf("%s", "+");
    25
    26                  x = x+2;
    27          }
    28
    29          locate(0,21);
    30
    31          return 0;
    32  }
    33

実行結果





コメント

このブログの人気の投稿

Tomcatの環境構築

レトロパソコン(NEC PC-8001)が正常起動

レトロパソコン(NEC PC-8001)を動かしたいなあ