まくんの音楽ノート

自由気ままに音楽とプログラミング

三角関数 その1:三角比から三角関数へ

今回は三角関数の基本です。 教科書的な話になると思います。

サイン、コサイン、何に使う?

高校数学のテキストでは

三角関数は高校数学で学ぶ内容です。

一般的な高校数学のテキストでは、おおよそ以下の流れで三角関数の説明をしています。

  1. 直角三角形の2辺の長さのとして三角比を定義する。
  2. ここで定義した三角比ではマイナスの領域(第2〜4象限)が定義できないので、三角比を全象限に定義できるように拡張する。
  3. 平面状をぐるっと一周できるようになったので、一周が1周期になるように三角関数として定義する。

この流れは、中学校で学ぶ三平方の定理をベースにした説明と言えます。 自分もこれで勉強させられました。

私は当時「サイン波」という言葉を聞いたことがあったため、サインってのは波なんだな、というのはなんとなくわかっていたのですが、 授業で \sin{x}とかが出てきた日、サインで音に関する説明と言えば「サインとかコサインって、音を扱う人はよく使うんだよー」と、これくらい。後付けの豆知識です。 きっと今教えたって分かりっこないと思われていたのでしょうが、そのエッセンスくらいは教えてほしかったものです。 直角三角形の2辺の比が、なぜか音の世界でよく使われる。この飛躍した2つの事実には、どんな結びつきがあるのでしょうか。

今回は三角比の定義も書きますが、それよりもまず、音を扱うとき、なぜ三角関数がよく出てくるのかについて、 その理由を先取りする形で説明していきます。

三角関数の超重要な性質

音を扱うときにサイン・コサインがよく使われる理由を、先取りで知ってしまいましょう。

ざっくり言ってしまえば以下の2つです。

  • 三角関数には周期性があるから。
  • 三角関数周期性がある関数としては、最も単純だから。

これに尽きると思います。 周期性というのは、一定の(時間)間隔で同じものが繰り返されることを言います。

周期性があるからこそ、後で出てくるフーリエ級数展開フーリエ変換が行えます。 フーリエ変換は音声解析やエネルギーの分布を見るときに必ず使われる重要なツールです。

ちなみに、とある関数が周期性を持っていることを数式で表すには、次のように書きます。

 f(t) = f(t \pm T)

独立変数は tとしました。物理では、時間を表す時によく tを使います。 したがって、ここでも早いうちに独立変数を tとして、後に備えましょう。

tをt+Tにしただけで周期性を表せるというのは、一見不思議なように思えます。 この書き方は、1周期間隔で元に戻ってくることを表現しています。

ちなみに y=1みたいな定数関数も定義上では周期関数に当てはまりますが、時間的に一切変化しないので、時間的に変化するものを表すには使えません。 工学ではバイアス成分(周波数0Hzの成分)として考えることがありますが。

 xは数学では y = f(x)のように、独立変数としてよく出てきますが、物理では変位など、従属変数として使うことも多々あります。 よって、物理では次のような変数の使い方がよく出てきます。

 x(t) = A \sin{ \omega t}

 tによって xが変わる、ということですね。 初めは違和感があると思いますが、徐々に慣れていきましょう。

とりあえず勉強として、三角比

三角比の定義

三角関数の概念の大元は、直角三角形の辺の長さの比、三角比です。

私は、高校入学前の予習課題で初めて三角比を勉強させられた覚えがあります。 高校標準レベルのテキストですら、とても難しそうに見えていた頃です。 あの時は本当に全然わからなかったし、なんで自分はこんなにわからないんだろうと悩んでいたような。

次のように三角比を定義します。  a,b,cは、それぞれの辺の長さで、 \thetaはシータと読み、ここでは角度となります。

f:id:Makungoron:20200128220504p:plain:w400

このとき、三角比として次を定義します。 定義というのは、これはこういうものだ、と決めたものです。 頭のいい昔の人が勝手に決めたと思っていいです。

 \displaystyle \sin{ \theta} = \frac{b}{c}

 \displaystyle \cos{ \theta} = \frac{a}{c}

 \displaystyle \tan{ \theta} = \frac{b}{a}
なぜいきなり \thetaという今まで見たこともない文字を使うのかと思う方もいると思います。 それは、実は \thetaは角度を表す時によく使う文字だからです。
このように、それぞれの文字には、だいたいこういうものを表す時に使うというイメージがあります。 たとえば、 \varepsilonという文字はとても小さい値のイメージがあります。 だから、 \varepsilon = 10^6とか書かれると、数学やってる人にとって違和感があります。
勉強し始めてすぐなのにいきなり見たこともない文字を使うのは、勉強を始めたてホヤホヤの頃から文字のイメージをつかませて、 数学(物理・工学も同じです)者としての感覚を育てるためです。

三角比の覚え方?

以下の図のように、直角三角形に、s,c,tの筆記体を当てはめた覚え方があります。

参考書や問題演習書の章まとめみたいなところに載ってますが、まさか自分でこれを書く日が来るとは*1

f:id:Makungoron:20200128225701p:plain:w500

最初に通った辺を分母に、2つ目に通った?辺を分子に置くと、その三角比になります。

三角比から三角関数

三角比を拡張しよう

三角形の内角の和は必ず180度です。直角三角形では、一つの角は必ず直角(90度)ですから、 三角比は  0 \lt \theta \lt 90^{ \circ}の領域でしか考えることができません。  \theta \geq 90度の直角三角形はそもそも作れません。  \theta = 0は、そもそも三角形が作れません。

しかし、三角関数では角度はどんな実数でも定義できます。。 現実の三角形で考えてしまうとどうやら限界のようです。 そこで、いったん現実の(=幾何的な)三角形で考えるのをやめて、90度より大きい角度でも大丈夫なように、考え方を拡張します。 この影響で、辺の長さがマイナスになったりしますが、それは副産物ということで。

拡張の第一歩として、三角形の辺の長さを、中学までにさんざん見てきた xy座標を使います。  xy座標の上で、原点Oを中心にぐるっと360度回転できるように、都合のいい直角三角形の置き方を考えます。

昔習ったことが今役立つと嬉しいですよね。 勉強というのは、単なるその場しのぎの暗記ではなく、基本からどんどん発展させていくように学習することです。 勉強したことを、いわゆるスキルツリーみたいな形で自分の武器として育てていくイメージですね。 とはいえ、学校ではそこまで徹底的に教えてくれないことがほとんどですが。

f:id:Makungoron:20200128231953p:plain

さっきの三角形に xy座標を重ねただけです。 幅や高さは、x,y軸を目盛りとして使っても測れますね。 つまり、今x軸とy軸は三角形の幅と高さです

三角関数は、角度が変化したとき、三角形の辺の比がどのように変化するのかを表す関数です。 そのため、角度 \thetaを考える点を図上で固定しておくことで、  \thetaに対して \sin{ \theta}, \cos{ \theta}がどのように変化するのかが考えやすくなります。

 0 \lt \theta \lt 90^{ \circ}の領域では、先ほどの図のとおりに考えられますが、 角度は必ず原点まわりの角度をとるため、90度を超えると直角三角形は作れません。

ここで x軸と y軸の出番です。  x, y軸を目盛りとして使うことをためらわなければ、 目盛りのマイナス側を読み、マイナスの長さの辺を作ることで直角三角形が作れることがわかります。

例として、 \theta = 120^{\circ}のときは以下のようになります。 角度の取り方が変わっていることに注意。もはや内角ではありません。 図では書いていませんが、半径は1です。 原点中心・半径1の円は単位円といい、次回説明しますがものすごく便利な考え方です。

f:id:Makungoron:20200129010946p:plain:w400

高さや幅は、x軸y軸の値そのものです。 こうして、目盛りとして使ったx軸とy軸の値をそのまま三角形の幅と高さに当てはめることで、あらゆる角度に対応した三角形が作れるようになりました。

第1〜4象限で作った三角形はそれぞれ次のようになります。 図ではx軸に必ず辺がありますが、y軸を辺とするような書き方でも間違いではありません。

f:id:Makungoron:20200129001427p:plain:w300f:id:Makungoron:20200129010946p:plain:w300 f:id:Makungoron:20200129013128p:plain:w300f:id:Makungoron:20200129013140p:plain:w300

この記事はここまでとして、次の記事では単位円についてまとめます。

まとめ

音を扱う上で、周期性のある関数が必要です。 サイン・コサインは、最も単純な周期関数であるため、よく使われます。

今回は、高校の最初にやるような三角比の内容を扱いました。

 0 \lt \theta \lt 90^{ \circ}でしか扱えない三角比を、 \thetaがどんな値でも扱えるように拡張することで、三角関数に繋がります。

次回は、三角関数を視覚的にイメージするための魔法のツール、単位円について説明します。

*1:使用したフォントは、sとtがMeddon、cがAmitaです。両方ともGoogle Fontsから借りてきました。