- ベストアンサー
三角関数の記述の仕方
タイトルそのまんまなんですが、三角関数はC言語ではどのように記述すればいいでしょうか? 角度にラジアン表記でπ(パイ)を使いたいんですが、その表記方法もわかりません。 僕の持っている本に載ってなかったので質問させていただきました。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
C言語で三角関数を使うためには、math.h をインクルードする必要があります。使い方は例えば、こんな感じです。 #define M_PI 3.14159265358979 /* 円周率 */ double x, y, theta; theta = M_PI / 4.0; x = cos(theta); /* sin,cos,tanの引数は弧度法の角度です。*/ y = sin(theta); πは上記の例のように自分で定義して使ってください。
その他の回答 (3)
- Interest
- ベストアンサー率31% (207/659)
ANo.1 のお礼に > 角度はラジアン表記ですよね? > ディグリー(°)は使えないですよね? と書いてありましたので、使える方法を紹介します。 #define M_PI 3.14159265358979 /* 円周率 */ #define rad2deg(a) ( (a) / M_PI * 180.0 ) /* rad を deg に換算するマクロ関数 */ #define deg2rad(a) ( (a) / 180.0 * M_PI ) /* deg を rad に換算するマクロ関数 */ これらを定義しておきます。そして、 double x, y, d; d = 45.0; x = cos( deg2rad( d ) ); y = sin( deg2rad( d ) ); のように使えばいいのです。
- bloomers_daisuki
- ベストアンサー率14% (40/267)
#1さんに付け加えるならば、 三角関数は、sin()、cos()、tan()、asin()、acos()、atan()、sinh()、cosh()、tanh()です。単位は、ラジアンです。ディグリーは使えないので、ラジアンに変換します(一般にはラジアンの方が使いやすいと思うのですが・・・。)。 deg = red * 180.0/PI; // ラジアンをディグリーに直す。 ついでに言えば、 #include <math.h> を忘れないで下さい。さらに、コンパイラ(ドライバ)によっては、数学関数ライブラリをリンクすることを指示しなければならないかもしれません(gccなど)。 πを使うには、math.hをインクリュードすることによって、単純置換マクロPIで使えると思います。 **** 例 **** x = sin( PI/3.0 ); もに、PIが定義されていないようであれば、 #define PI 3.141592 と、プログラムの冒頭に記述すれば良いでしょう。
- jacta
- ベストアンサー率26% (845/3158)
> 三角関数はC言語ではどのように記述すればいいでしょうか? sin, cos, tan関数を使います。 > 角度にラジアン表記でπ(パイ)を使いたいんですが、その表記方法もわかりません。 πを表す標準的な方法はありませんので、普通に 3.14159265358979 といった具合に書いてください。
お礼
早速のご回答ありがとうございます。 πはないですか…。 角度はラジアン表記ですよね? ディグリー(°)は使えないですよね?
お礼
ご回答ありがとうございます。 defineで定義してしまえば楽ですね。 参考になりました。