アプリ版:「スタンプのみでお礼する」機能のリリースについて

タイトルそのまんまなんですが、三角関数はC言語ではどのように記述すればいいでしょうか?
角度にラジアン表記でπ(パイ)を使いたいんですが、その表記方法もわかりません。
僕の持っている本に載ってなかったので質問させていただきました。
よろしくお願いします。

A 回答 (4件)

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 ) );

のように使えばいいのです。
    • good
    • 2

#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

と、プログラムの冒頭に記述すれば良いでしょう。
    • good
    • 3

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);

πは上記の例のように自分で定義して使ってください。
    • good
    • 5
この回答へのお礼

ご回答ありがとうございます。
defineで定義してしまえば楽ですね。
参考になりました。

お礼日時:2005/06/24 23:45

> 三角関数はC言語ではどのように記述すればいいでしょうか?



sin, cos, tan関数を使います。

> 角度にラジアン表記でπ(パイ)を使いたいんですが、その表記方法もわかりません。

πを表す標準的な方法はありませんので、普通に 3.14159265358979 といった具合に書いてください。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
πはないですか…。
角度はラジアン表記ですよね?
ディグリー(°)は使えないですよね?

お礼日時:2005/06/24 23:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!