質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

9610閲覧

c++ Mathヘッダーの三角関数関数でなぜ引数が一つなのか知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2019/04/01 15:42

編集2019/04/02 04:03

三角関数の関数はそれぞれ正弦 余弦 正接を返しますがこれはなんの値なのですか?
三角関数のsin cos tan は a / b といった分数の公式が出てきてそれを使いますががこの関数は引数が一つしかないためなんの結果が帰ってくるのか困っています。

c++

1#include <iostream> 2#include "conio.h" 3#include <math.h> 4using namespace std; 5int main() 6{ 7 float s = sin(10); 8 float c = cos(10); 9 float t = tan(10); 10 printf("s: %f\n",s); 11 printf("c: %f\n", c); 12 printf("t: %f\n", t); 13 14 15 16 17 _getch(); 18 return 0; 19}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

三角関数の関数はそれぞれ正弦余弦正接をのラジアンの値を返しますがこれはなんの値なのですか?

  • sin(double x): 正弦関数の値
  • cos(double x): 余弦関数の値
  • tan(double x): 正接関数の値

質問に書いてあるようにそれぞれ正弦関数、余弦関数、正接関数の値です。
三角関数がなにかわからない場合は、ここで解説するより、検索すればネット上にわかりやすい解説が多数あるのでそちらをご参照ください。

三角関数は何に使えるのか 〜 サイン・コサイン・タンジェントの活躍 〜 - Qiita

関数の引数に何を入れるのかもいまいちわからず

関数の引数は、度ではなく、ラジアンで指定します。
ラジアンとはなにか、度、ラジアンの相互変換は以下を見てください。

ラジアンとは何か?角度をラジアンに変換する方法が理解できる練習問題付き|高校生向け受験応援メディア「受験のミカタ」

c

1#include <math.h> 2#include <stdio.h> 3 4#define PI 3.14159265358979323846 // 円周率 5 6/** 7 * @brief 度をラジアンに変換する。 8 * @param degree 度 9 * @return ラジアン 10 */ 11double deg2rad(double degree) 12{ 13 return degree * PI / 180.0; 14} 15 16int main() 17{ 18 double degree = 90.0; // 度 19 double radian = deg2rad(degree); // ラジアンに変換 20 21 printf("%f", sin(radian)); // 1.000000 22}

追記

直角三角形で三角関数を定義する場合、

sin θ = a / b
cos θ = a / c
tan θ = c / b

であり、このθが math.h の sin(double x)、cos(double x)、tan(double x) の引数 x に該当するので、引数は1つです。

イメージ説明

三角関数  正接・正弦・余弦・etc

投稿2019/04/01 15:53

編集2019/04/02 04:16
tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/04/02 02:36

三角関数は調べればいろいろサイトが出てくるので困っていないのですが自分が知りたいのは 正弦、余弦、正接についてでしてこのサイトを見ていたのですがまとめと書かれている部分のことでいいのでしょうか?http://kojison.web.fc2.com/hanasi/sankakukan.htm
tiitoi

2019/04/02 02:44 編集

正弦 = sin、余弦 = cos、正接 = tan というのは大丈夫でしょうか?英語表記か日本語表記かの違いで意味は同じであり、これら3つ、及びそれから派生した関数を三角関数といいます。 なので、三角関数 = sin/cos/tan = 正弦/余弦/正接 という認識でよいです。 http://www.asahi-net.or.jp/~jb2y-bk/NaturalSci/math/sanka1.htm
退会済みユーザー

退会済みユーザー

2019/04/02 04:05

質問ですが引数が一つしかないことに疑問も持っています、三角関数公式などで調べるとa / bといって数式が出てきますがこの場は引数が二つ必要だ思うのですがこの辺りを教えてくれますでしょうか?
tiitoi

2019/04/02 04:16 編集

sin θ = a / b の左辺 θ が三角関数の引数なので、引数は1つです。追記を参照ください。
tiitoi

2019/04/02 04:19 編集

三角関数はいくつか定義の方法があり、高校数学では「直角三角形による定義」または「単位円による定義」を行うのが一般的です。どの方法で三角関数を定義しても意味としては同じです。 まず数学の概念を理解するには、「定義」を確認、理解しましょう。これが出発点となります。 https://ja.wikipedia.org/wiki/%E4%B8%89%E8%A7%92%E9%96%A2%E6%95%B0#%E7%9B%B4%E8%A7%92%E4%B8%89%E8%A7%92%E5%BD%A2%E3%81%AB%E3%82%88%E3%82%8B%E5%AE%9A%E7%BE%A9
退会済みユーザー

退会済みユーザー

2019/04/02 05:18

質問ですが追記の部分を読んだのですが、sin()にθのところにPI /4 と入れたとして戻り値はその角度のaの長さですか?
ozwk

2019/04/02 05:29

bが1ならそうです
episteme

2019/04/02 05:38 編集

半径1の円上の点を考えれば明らかやんか。
退会済みユーザー

退会済みユーザー

2019/04/02 05:39

質問ですがsin()関数の斜辺はいくつなのですか?
episteme

2019/04/02 05:46

sinに斜辺などない。辺の長さの"比"なのだから
stdio

2019/04/02 05:46

ついでだから一応コメントしますが、sinとcosは同じ角度の場合、その長さは常に1になります。つまりsinとcosは正規化された2次元のベクトルですよ。 float s = sinf(radian); float c = cosf(radian); float l = sqrtf((s*s) + (c*c)); //l = 1
ozwk

2019/04/02 05:52

回答図のような直角三角形があったとき bの長さによってaの長さも変わるけどその比:a/bはθが同じなら一定になる。 (これがわからないなら中学数学の教科書まで戻って相似の項を読みましょう) その比をsinθと呼ぶことにする。 なのでsinθのbの値とかaの値とかそんなものは無い
fana

2019/04/02 06:34

(三角形を考えた瞬間に何故か辺の長さの絶対値に捉われてそこで頭が止まってしまう(?)という状態なのだとしたら,もう三角形のことは一旦忘れて,単位円側の話で再出発した方が早そう.)
退会済みユーザー

退会済みユーザー

2019/04/02 06:37

比って割合のことだと思うのですがそれとどうか違うのでしょうか?
tiitoi

2019/04/02 06:41 編集

「直角三角形及び角度θが与えられたときに三角関数 sinθ、cosθ、tanθは回答の追記のように定義される。」 この点をまず納得してください。定義なので、理屈ではなく、ルールです。
stdio

2019/04/02 06:42

fanaさん そんなことしたらまた「半径が...」とか言うから... ひとまず、みなさんが答えて下さっている物には前提条件が存在しまして、長さは全て1なんですよね... 円の半径は絶対1固定。この条件を守ればsinとcosぐらいは簡単ですよ。
stdio

2019/04/02 06:48

tiitoiさん それならまず、定義と定理の違いを説明した方が早いと思います。そうしないと納得するのは難しいと思いますよ。無理やり分からせるなら、単に記憶させるだけなので、いつか絶対忘れます。 きっと日本の教育がずっとその方式でやってきたのがいけないと思いますね^^
退会済みユーザー

退会済みユーザー

2019/04/02 07:00

「直角三角形及び角度θが与えられたときに三角関数 sinθ、cosθ、tanθは回答の追記のように定義される。」というのは理解したのですがsin はa cost は cの比?が帰ってくると思うのですがそれは正しいのでしょうか?
退会済みユーザー

退会済みユーザー

2019/04/02 07:03

角度を変えると斜面の長さも変わるというを知ったのですが必ずしも斜面1でないということでしょうか?
tiitoi

2019/04/02 07:11

「長さがそれぞれ a, b, c (追記画像)である直角三角形及び角度θが与えられたときに三角関数 sinθ、cosθ、tanθは回答の追記のように定義される。」 なので、定義の通りです。cos θであれば、斜辺 / 底辺 > 必ずしも斜面1でないということでしょうか? はい
退会済みユーザー

退会済みユーザー

2019/04/02 07:34

では各関数の戻り値はその比の値ということでしょうか?
tiitoi

2019/04/02 07:37

> では各関数の戻り値はその比の値ということでしょうか? そうなりますね。
stdio

2019/04/02 08:35

そこは角度によるsin,cos,tanの表ですね。 それで計算出来ますし、私の正規化された2次元のベクトルもその表を使えば証明できるはずです。 引き続きゲーム開発頑張って下さい。
退会済みユーザー

退会済みユーザー

2019/04/02 08:36

ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問