三角関数をC言語で使いたいんだけど、どうやるんだろう。
ついでに、逆三角関数についても知りたいな。
こちらの悩みを解決しますね。
✔本記事の内容
・関数の使い方
・三角関数の解説
・逆三角関数の解説
この記事を書いている自分は情報系大学生で、三ヶ月ほどでC言語の基礎を完璧に理解しました。勉強中に分からないことが多く、一日中プログラミングしていたこともあります。
今では、ブログでC言語について解説しています。
今回はそんな経験をもとに解説していこうかと。
当サイトでは、覚えるべきところを全てまとめているので、画面を撮影して何度も読み返すことをおすすめします。
それでは、解説していきます!
関数の使い方
解説する関数は全部で6つです。
三角関数の使い方は下の通りです。
三角関数の使い方
- sin(引数)
- cos(引数)
- tan(引数)
逆三角関数の使い方は下の通りです。
逆三角関数の使い方
- arcsin(引数)
- arccos(引数)
- arctan(引数)
引数の部分に変数を入力して使います。
※どちらの関数も角度の単位にradを使用します。θではないので注意!
三角関数の解説
C言語で三角関数をつかうときに覚えておくべきことは以下の通りです。
✔三角関数を使うときに覚えておくべきこと
- ヘッダファイルのmath.hをインクルード
- 引数はrad(ラジアン)を使用する
- データ型にfloat、出力書式に%fを使う
ヘッダファイルのmath.hをインクルード
三角関数を使うときは、math.hというヘッダファイルをインクルードする必要があります。
引数はrad(ラジアン)を使用する
マクロ定義を使って、単位をradに変換すると簡単にプログラムを作れます。
θ÷180×3.1415という計算でラジアンに変換できます。
データ型にfloat、出力書式に%fを使う
三角関数の出力結果が小数になるためです。
int型や%dを使うと出力結果が0になってしまうので注意!
サンプルコード
以上の3点を踏まえて、プログラムを作りましょう。
下のプログラムは、123.45678°の三角関数を計算します。
#include <stdio.h>
#include <math.h>
#define RAD theta/180*3.1415
int main()
{
float theta=123.45678;
printf("sin%f°=%f\n", theta, sin(RAD));
printf("cos%f°=%f\n", theta, cos(RAD));
printf("tan%f°=%f\n", theta, tan(RAD));
}
逆三角関数の解説
C言語で三角関数をつかうときに覚えておくべきことは以下の通りです。
✔三角関数を使うときに覚えておくべきこと
- ヘッダファイルのmath.hをインクルード
- πをマクロ定義する
- データ型にfloat、出力書式に%fを使う
ヘッダファイルのmath.hをインクルード
三角関数と同じように、math.hをインクルードする必要があります。
πをマクロ定義する
正確な結果を出力するために、πをマクロ定義しましょう。
データ型にfloat、出力書式に%fを使う
先ほどと同じ理由で、三角関数の出力結果が小数になるためです。
サンプルコード
printfの引数の部分で、radからθに変換しているので注意です。
#include <stdio.h>
#include <math.h>
#define PI 3.141592653589793238462643
int main()
{
float x=1;
printf("arcsin%f=%f\n", x, asin(x) * 180 / PI);
printf("arccos%f=%f\n", x, acos(x) * 180 / PI);
printf("arctan%f=%f\n", x, atan(x) * 180 / PI);
}
まとめ:三角関数と逆三角関数を0から解説
解説のように、三角関数とマクロ定義をセットで使うと便利なので是非どうぞ。
始めて使う人は、math.hのインクルードを忘れないように注意しましょう。
今回は以上です!
ではでは~👋
コメント