1. ゆるゆる数学エッセンス
  2. #17-ゲームプログラミング、GP..
2022-06-07 27:02

#17-ゲームプログラミング、GPS、スマホにも使われる「三角関数」ってなんだっけ?

エピソードをシェアする

Share on X Share on Facebook Share on Threads
spotify apple_podcasts

ちょっとお勉強的な部分も入りますが、三角関数ってなんだっけ?という話と、具体的にどんなところに活用されてるんだろーという事例について話してみました(◍ ´꒳` ◍) この話を聴いて、少しでも三角関数って、悪者じゃないよ〜と思ってくれれば嬉しいです(◍•ᴗ•◍) 

【いつも聴いて下さっている皆様へ】申し訳ございません…私ゆとが、音漏れしまくるイヤホン&マイクで録音できてなかったというポカをしました。いつもよりは少し聴きにくい箇所があるかと存じますが、ご容赦いただけますと幸いです。音質や編集が気になる方は、 次回は #19 の配信をお待ちください・・・!

*姉妹番組『農と食のラボラジオ』*
▶︎Spotify:https://spoti.fi/391uQp2
▶︎ Apple:https://apple.co/3vTAsux
・遺伝子組換えって本当に悪なの?
・さよならパサパサ肉!低温調理が合理的なワケ
etc…

<三角関数についてよくまとまってたサイトのコピペ> 

測量・・GPS、地図、土木工学、精密機械工学、ケーキカット 回転・・ゲームプログラミング、CG、航法、機械工学、宇宙機や航空機の姿勢制御 波・・ 音声処理、画像処理、ノイズフィルター、振動工学、量子力学などさまざまな物理学分野 その他・・内積、コサイン類似度、ボックス=ミュラー法(正規乱数の生成)、カーネル法における非線形関数としてなど 

出典:https://coinbaby8.com/trigonometry.html 

ご意見ご感想、こんなテーマで話して欲しい!などあれば、Twitterハッシュタグ #ゆる数学ラジオ でつぶやくか、お便りフォームからお気軽にてみてください٩( ᐛ )و  Twitterのフォローもぜひお願いします(◍ ´꒳` ◍) 

Twitter ▶︎ https://twitter.com/yuru_sugaku
お便りフォーム ▶︎ https://forms.gle/tpv3McqYUnTTnZ2h6 

▽聞き手ゆとのほかのPodcast
https://www.notion.so/utoc11/Podcast-9be96f405d0b43c4a5aa762c54e9e51c

00:05
数学ナビゲーターしみと、数学ナビサレーターのゆとです。
ゆる数学ラジオ始まりました。
よろしくお願いします。
前回、三角関数の大炎上ネタを話しましたが、
そもそも三角関数って何なんだっけみたいな。
前回それに一切触れずにね、いきました。
それをすごく簡単なところから話せればなと、今日は思っています。
改めてね。
改めて。
よろしくお願いします。
お願いします。
まず、三角関数っていうのは、三角比っていうものの関数だよね。
三角比ってものの関数?
はい。
で、言うと、三角比って何?関数って何?ってなるよね。
確かに。
数学で言う因数分解ってこういうことだね。
書いてることを分解してみたと。
で、先に関数って何?
関数って何?
ゆとさん、関数って何ですか?
関数って何ですか?
これを1ネタで話したいぐらい色々あるんだけど、
何て表現されてるんだろう?
ウィキとかだと。
正しい表現は私も分からない。
正しいものは分からないんですが、
yイコール2xとかでね、関数って。
そう、なんか、例えば今のyイコール2xって言うと、
yとxがなんか文字で文字になっていて、
xに1とか入れると、
yが2xだから2×1で2ですとか、
xが2.5だと、
2.5×2がyが5みたいに、
一つの値を決めると、
関数っていうなんか変換装置って言えばいいかな。
なんかその関数っていう箱にとある数字を1個入れると、
何か一つのものが出力されます。
そうね、なんか定義よう分からんけど、
俺の言葉で言うと、
関数は変換とか対応関係とか、
そういうキーワードのイメージですね。
で、これ関数ってすごくざっくり、
何で便利なの?っていうと、
たぶん今みたいに、
yイコール2xとかって言われた時に、
xに2を入れたら4だなとか、
2.5を入れたら5だなとか、
10を入れたら20だなとか、
関数っていう概念がないと、
03:00
1個ずつ考えていくしかないんですよ。
だけど関数っていう概念があると、
それが全部つながったものというか、
そのグラフとかで表せたりするから、
先が見えるというか、
全部が見えるようになる。
全体像が把握できるというか、
そんなイメージかな。
そんなイメージかなと。
たぶんもっと深い話はいっぱいあるんですけど、
今日はそういうふうに1個ずつ入れるのが、
1個ずつ数を試してみるのが結構大変なものとかも、
全体像を見て表現できる、
ホームツールではないんだけど、
そういう変換できるものが関数です。
一旦今日のところはそんなレベルで。
今日はこんな感じで。
いけば大丈夫。
分かっていただけると大丈夫だと思う。
OK。
じゃあもう1つ。
三角比って何?っていう話をします。
三角比って三平方の定理、
ピタゴラスさんの時に触れた、
ピタゴラスの定理、三平方の定理とは
何か違うんだっけ?
なるほど。
三角比。
三平方の定理は直角三角形を持ってきた時に、
直角限定の話で、
斜辺の2乗イコールどっかの1辺、
残りの1辺の2乗足すもう1辺の2乗みたいなやつですね。
C次乗イコールA次乗足すB次乗みたいな。
つまり直角三角形の3つの辺の長さの規則みたいなものが、
関係性。
ピタゴラスの定理ですね。
三角比っていうのは多分近く、
三角形の3つの比の話ですね。
だからどこが長い短い。
そうか、別に直角三角形の話じゃないというか、
だけじゃないというか。
だけじゃないけど、
今日は直角三角形の話で考えた方がわかりやすいので、
代表例ね。
代表例として、
三角形を何か描いてほしいんですけど、
直角を右下が直角になっていて、
縦の長さと横の長さはみんなそれぞれ、
適当に三角形を思い描いてみてください。
OKです。描けました。
右下が直角。
縦と横を好きな長さに一旦伸ばしてみて、
三角形作ってみてください。
そうすると、
左下に角度っていうのかな。
左下と右上にそれぞれ角度があると。
三角形の中にある角度があると思うんですけど、
左下の角度を内角。
左下の内角を下で、
06:04
数学だと言うんだけど、何でもいいんですけど、
ギリシャ文字のね。
ギリシャ文字のシータってよく使うんですけど、
そこの角度に何か名前をつけてください。
私たちシータと言いますが、
記号でしかないので、
シータって何とかあんま気にしないでください。
角度に名前がつけました。
はい。シータさん。
斜辺っていうのは、
右上から左下に線が今引かれた状態になっている。
坂のやつね。
坂をA、Aとします。
この辺の名前をAって言うってこと?
A、そうです。この辺の名前、長さ。
長さがAかな。
で、今度下。
床っていうのかな。
下の長さをBとします。
長さがB。
縦の高さがCとします。
A、B、Cなんで。
今、文字に置いたのが、
AとBとCとシータで、
4つ、長さまだ測ってないけれども、
文字とか記号に置いたものがありますね。
本当の10cmとか20mとか分かんないけど、
長さを文字に置いたってことか。
そうです。今のところ分かってない。
で、これらの角度と長さの比のことを
三角比って言います。
ん?
ん?ってなるね。
角度と長さの比。
もうちょっと具体的に言うと、
例えば長さの比って、
そういうことか。分かりやすい。
坂になってる斜面と床の比率、
AとB。
AとBの関係もあれば、
床と高さの比率もあれば、
坂と高さの比率は三角形だから、
その三通りありますよね。
辺と辺の比で言うと。
で、これをサイン、コサイン、タンジェン取って
出ましたね。
はい。見えます。
今日はもう超分かりやすくしちゃうために、
じゃあコサインが一番分かりやすい。
コサインって、
コサインのCから始まるんですね。
コサインっていうのは。
COSって書いてコサインって言うんですけど、
COSでコサインと読みます。
読みますが、
英語のCっていうのは、
その三角形あるとこにCを
当てはめようとすると、
Cのしかも書き順のまま見ていくと、
最初に坂があって、
辺Aね。
辺Aと床に行くので、
コサインシーターっていうのは、
分母が斜面、A。
で、分子が床、Bかな。
ABC、うん、そうね。
09:00
A分のBですと。
つまり何が言いたいかというと、
坂の長さか角度か床の長さが、
その三角形の中の2つが分かると、
もう1個が特定できますよ。
なるほど。
おさらいすると、
コサインシーターだよね。
うん、コサインシーター。
だから今シーターが何度かも分かってない角度なので、
すごい1度とかの角度だと、
めっちゃ潰れた三角形。
コサインシーターイコールA分のB。
A分のB。
はい。
で、Cを書く感じで、
分母分子順番でやるって、
高校で教えられるんだよね。
中学?
教えられる。
大志高校かな、教えられる。
一旦そこはもう、
そういう比率と角度の関係なんだって、
覚えておいて。
コサインっていうのは、
坂と床の角度の関係のことを言ってるんですと。
でも改めて説明を受けると面白いね。
そこが対応関係きっちりとね、
イコールで結まれて、
さっき言ってたけど、
2個分かったら1個分かっちゃうっていう。
そうそうそうそうそう。
2個分かったら1個が分かる。
うん。
で、これを床と高さの関係を、
タンジェントと言いますと。
タンジェントさん。
タンジェントさん。
で、シーターは常に左下のシーターっていうので、
タンジェントシーターっていうのが、
Tの筆記体?
で、下から上に上がって、
下に行って横棒を引くみたいな、
最初の書き始めのやつで覚えると、
床分の高さだって分かりますと。
なるほどね。
これがタンジェント。
完全に忘れてるわ。
覚え方。
いや、言われてねえ。
あ、そうやって覚えた気がするって。
そうだよね。
で、これをサインって、
サインもSINなんですけど、
サインも筆記体で、
Sを筆記体で書くんだ。
Sを筆記体で書くと、
下からグニャンって上がって、
下にグニャって落ちるみたいな感じなので、
坂分の高さから入れる。
A分のC。
A分のCがサインシーター。
エコールA分のC。
はい。
っていうように、
角度と2つの長さが分かると、
もう1つの長さっていうのが、
分かっちゃうんですよっていうものなんですけど、
なんですけど、
サイン1度とか、
サイン45度とか、
サイン60度の値が分かんないと、
これ出せないというか、
そのサイン60度の値が分かって、
Aの長さがいくつだから、
ああ、そういうことか。
みたいになると思っていて、
このサインシーターの値っていうのは、
12:01
結構いろいろ変わっていきますよね。
で、分かりやすいのはじゃあ、
例えばサイン45度。
これは直角二等辺三角形ってやつ。
えっと、待って。
あ、ごめん。
タンジェント45度が分かりやすいね。
タンジェント45度が多分一番分かりやすいんですけど、
直角二等辺三角形。
高さと床の長さが一緒な直角三角形をイメージすると、
タンジェントって床の高さ分、
床分の高さなので、
同じ長さだから、
だからタンジェント45度は1ですね。
って分かる。
そうね。
みたいに、角度が決まると、
サインの値、コサインの値、タンジェントの値って決まるんですよ。
で、いろいろやるのは置いとくんですけど、
この値を全部出すのってめちゃくちゃ大変なんですよ。
サイン一度の値を出せって言われると、
角度が一度の図形を書いて、
実際に高さと床と定規で測ったりして、
割合を出すと確かに出てきます。
だけど、すごい小数点の長い数字が出てきます。
今、タンジェント45度が1みたいな分かりやすい数字が出てきません。
で、角度って日常生活で言うと、
そんな一度とかよりも、
もうちょっと一度と二度の間とかがあってもおかしくはない話じゃないですか。
って考えると、その値を全部計算するのってめちゃくちゃ大変ですよね。
そうね。
だから、関数にすると便利なんですよ。
関数にすると。
つまり、関数にできちゃう。
その角度を入れるとサインの値が出てくる関数。
つまり、シーターの値は一度とかってやると、
コサインシーターはいくつですって出てくる。
これを三角関数って。
なるほど。
で、それを実際にやっていくと、
本当にやると波みたいな形になるんですけど、
そこも置いといて、
今日言いたいのは三角比っていうのは、
三角形の長さと角度の割合なので、
長さとか角度が分かると、
測れなかったところの長さとか、
木の高さを測るとかって言うと、
木の高さにいちいちメジャー持ってって測るのがめちゃくちゃ危険を伴うみたいな場合がある。
高層ビルとかそうかもしれないですけど、
高さを正確に測るのが大変ってなると、
ビルから何メートル離れた場所でっていう床を決めて、
そこからビルの頂上を見上げたときに、
角度が何度っていうのを測ると、
この2つから高さを割り出すことができますよみたいな。
それが三角比。
これが三角比。
15:01
で、これが角度って当然いろいろあるので、
じゃあ実際に測量場というかビル、
東京タワー測ろうって思って、
東京タワー見に行って、
東京タワーから100キロ離れた場所から東京タワーを見上げてみて、
見上げた角度が26.3度でしたとか出た場合、
もっと高い気がする。
まあいいや。
知らないけど26.3度でしたって出たときに、
タンジェント26.3度の値が分かると高さが出せる。
333.3メートル確かに出ますと。
でもタンジェント26.3度の値を出すのって結構大変じゃないですか。
大変じゃないですか。
出せないですね。
頑張って書いたら出せるんですよ。
26.3度の作図をしてそれぞれの小さい三角形を書いて測ればね。
そういうことか。それでその相似みたいなことをして倍率を出せば頑張りゃいけるんだ。
だけどそれって大変であって、
おそらく昔は数学はそういうのいろんな数字を出しまくっていった結果、
今日触れないですけど、
自然体質、ネイピア数とEっていうやつが、
そういう中でこういう数字があるっぽいって見えたりとか、
具体のもので見ていたんですけど、
そうすると関数のように全体像を見る、
未来を見るとかができないと何に困るかっていうと、
例えばプログラミングでゲームとか作ろうとしたときに、
キャラクターを横に動かすとか簡単かもしれないんですけど、
上に動かすとかももしかしたら簡単かもしれないんですけど、
斜めに動かすとかしようとすると、
全部綺麗に座標で指定してあげて動かすことは具体的にできるのかもしれないんですけど、
ただどっちの角度にどれだけ動きますかみたいな角度と長さを指定すると、
それをパソコンに命令することができますと。
この角度と長さを決めて、
いろんな値を入れて動かしていくっていうのは、
三角比と関数の話が入ってるよねっていう、
それがないとそういうことって多分できないので、
三角関数って聞いて波を思い浮かべてる。
習った人とかは波のことでしょって思い浮かべると思うんですけど、
波の話と今ゲームが動く話をしてて、
これ本当に繋がってるんかいなって思うかもしれないんですけど、
三角比って何?関数って何?ってやっていくと、
それを思ったようにキャラクターが結構複雑な動きができていることっていうのは、
18:03
それをコンピューターに命令できるっていうのは、
三角関数っていうことが含まれていて、
つまりキャラクターがそうじゃないと不自然な動きになっちゃうっていうかね、
うまく動きを規定できないとかがありますよっていう、
あえて波っぽい話とかではなくて、
世の中にありそうなことから三角比って何?関数って何?から、
三角関数があるから、
ゲームとか動画で言う編集技術とか、
パワーポイントのアニメーションが、
変わったアニメーションしない人もいるかもしれないけど、
くるくるくるってなるやつのアニメーションとか、
ああいうのって実は三角関数っていう理論が土台にあるからできているし、
昔、具体でやってたときは多分コンピューターにそういうことさせることはできなかったから、
結構三角関数って偉大なんですよって、
今日は伝えたかったです。
ちなみにこのゲームプログラミングだけ一瞬だけ雑談風に広げると、
ぜひぜひ。
プログラミングっていろいろあるわけですけど、
実はこのゲームプログラミングってめっちゃ三角関数だったりとか、
めちゃめちゃ物理、3Dグラフィックスとか、3Dの動きとか、
めちゃめちゃ計算が必要な、
てかそこが分かんないとできない領域で、
結構ね、実は難易度がめちゃめちゃ高いっていう、
そのゲームプログラマーになるのって、
っていうのを知ってね、
おお、なるほどなって思って。
そうなんですよね、なんかそうすると、
結構ゲーム作ってみたい人とかって、
多分いると思うんですよね。
なんかそういう人とかは、
でもなんかゲーム作るときに必要なのって、
プログラミングのコードを書くことだって思うと、
三角関数になかなかつながってこないかもしれないんですけど、
本当にやろうとすると、
実はめちゃくちゃ必要だよって、
なんか知っといてほしいね。
プログラマーとかゲーム作りたいって思ってるけど、
今数学でやってて、三角関数習ってて、
これ意味あるの?って。
しかもなんなら今の話って、
僕が今最近よく一緒に仕事してるエンジニアの方と話してて、
その方はね、
エンジニアになりたいと思ったのが、
もともとゲームプログラマーになりたいと思って、
で、他の専攻の大学だったんだけど、
辞めて専門学校、情報系の専門学校に行き直して、
序盤の方はゲームプログラミング目指してたんだけど、
めちゃめちゃ物理と数学いるやんってなって、
その方はね、結局諦めて、
他の一般的なシステム開発をやってて、
それはそれで楽しんでいるから、
それはそれでグッドなんだけど、
そういうね、後々知ると、
21:00
数学とかその辺にやられるみたいな事例の、
結構代表例かもしれないね、ゲームプログラミング。
ありますね。
なんかイメージと違うんですよね。
イメージだともしくはデザインを作る力?
キャラクターとか作る力とか。
もちろんそういう仕事もね、ありますけど、
キャラデザイナー。
結構色々あるから、
挙動ごとに、
でもこういうボタンを押したらこういう動きをするって、
その動きを決めるためには、
角度とかの話って絶対出てきちゃうので、
角度をプログラミングに分かるように指定しようとすると、
多分知らないと回転させるとか、
そういうことが出てきちゃうから。
ってことだよね。
そうね。
実はだから三角関数って、
多分繋がってる先に興味ある人はいっぱいいると思うんですよね。
そうね。
今日ゲームを話しましたけど、
ゲーム以外にも、
ゆとさんネタでこんなのに繋がってるみたいな。
資料集をご用意したんで、
しみさまだけ今目で見えている状態なんですけど、
概要欄に貼っておきますかね。
興味ある方は。
そうですね。興味ある方用にぜひぜひ。
くださいなんですけど、
例えばしみさま気になるのあります?
そうですね。
これ次回話したいなっていうのは、
GPSですね。
1回目の時にも話しましたけど、
Google Mapsって本当すごいなって思っていて。
最強だよね。
あれってなんでできてるのって、
当たり前に世の中にあるなって思うんですけど、
でもその裏にどういうのがあるかちょっとでも知れたりすると、
面白いなって思うし、
この辺はちょっと深掘ってみたいですね。
地図とかも多分近いところだと思う。
そうね。ほぼ類似な感じで書いてある気がする。
そうね。
あとは次回そんな触れないところで、
詳しくも説明しないところでいくと、
もう極端な話、
スマホとか家電全部三角関数絡んでるぜみたいな話は、
個人的には感動ものっすね。
もちろんそれが一番キーの技術かって言われても違うんだろうけど、
三角関数が中の仕組みには絶対入ってるっていう。
確かにそう考えると理系の中は必須だよね。
あらゆるもの、テレビもパソコンもタブレットもスマホもって書いて見てるんですけど、
家電全般、
Wi-Fiもか。
Wi-Fiもそうですね。
何もかも三角関数と言っても過言じゃないっていうね。
この辺は物理とかを習うとあれですね。
24:00
光とか、光って三角関数って言っていいのかな?
光も波で波は三角関数なので、そのロジックでOKですね。
だから光とか音とか、
本当に波って言うと海とかお風呂とかのチャプチャプっていう波ですけど、
ああいう波の形をしているもので光も音も実は波で、
それが当然テレビとかだと画面表示するのに使われていたり、
音を出すのに使われていたりとか。
テレビで言うと画面を僕らの目で認識するところ、
そこを映像認識のところも波で伝わってるっていう感じだね。
そうですよね。
だから波だから三角関数が絡んでるっていうロジックか。
電子レンジとかも。
電子レンジはもはや温める機能自体が電磁波。
そうそう、電磁波だから波だよね。
電子の波によって中のやつをぶつけて温めてるっていうイメージ。
小さい単位がいっぱい動いてるほど温度が高いっていうイメージで言うと、
波をめっちゃぶつけて動かして温めてるぜっていうこと。
そうっすね。
清水さんは物理じゃない。
ん?
物理はほぼ素人というか人間だから一応知ってるんだけど、
素人みたいな感じなんで、超素人感想ですけど。
そうね。
いやいや、前回引き続いて三角関数、
もうちょっとすげえなって思ってくれたら、
今日はゴール、ゴールいいんじゃないですかね。
三角関数、悪いものじゃないなって思われたら今日は、
OKです。
そんな感じで終わりですかね、今日は。
終わりましょうか。
じゃあ締めますと、この番組では皆様からの温かいお声をお待ちしております。
Twitterのハッシュタグ、ゆる数学ラジオ、または概要欄に載せております。
Googleホーム、お便りホームからお声をお届けください、お寄せください。
お待ちしております。
お待ちしてます。
あとは毎度になって恐縮なんですが、
アップル、ポッドキャスト、スポティファイル、星5のレビュー、
ポチッとね、言葉とかもういらないんで、
ポチッとだけでもいただけるとありがたいです。
お願いします。
お願いします。お待ちしております。
はい。
というところで、今回もお聞きくださり本当にありがとうございました。
ではでは、また。さよなら。
さよなら。
27:02

コメント

スクロール