detamamoruのブログ

興味を持ったことや勉強したことに関して記事を書きます。主に低レイヤー寄りの記事を公開。

Voice changerを作りたくて(3): 三角比を忘れてもうた

出田 守です。
このシリーズは、ほとんど何もわからない状況からVoice changerを作る過程の記録です。

環境(私も含めて)

[私について]
算数・数学: 苦手で避けてきた(後悔中)。おそらく中学2年生で止まっている。
プログラミング: 努力中
[開発環境 - PC0]
OS: Windows10 Home 64bit 1903
CPU: Intel Core i5-3470 @ 3.20GHz
Rust: 1.39.0
RAM: 8.00GB
Editor: Vim 8.1.1
Terminal: PowerShell

三角比

三角比を復習しておきます。

正三角形

f:id:detamamoru:20191115110706p:plain
図0: 正三角形
これは簡単ですね。長さの比が1:1:1で角度もすべて60°です。

45°の直角三角形

f:id:detamamoru:20191115111004p:plain
図1: 45°の直角三角形
長さの比が1:1:√2で角度が90°と45°の直角三角形です。正方形の半分です。

60°と30°の直角三角形

f:id:detamamoru:20191115111129p:plain
図2: 60°と30°の直角三角形
長さの比が1:2:√3で角度が90°と60°と30°の直角三角形です。正三角形の半分です。

ピタゴラスの定理

あーピタゴラスの定理。直角三角形の3辺をそれぞれa,b,cとした場合以下の公式が成り立ちます。

f:id:detamamoru:20191115111345p:plain
図3: ピタゴラスの定理

sin, cos, tan

sin, cos, tanは三角比の一種です。また、sin, cos, tanを考えるときは必ず直角三角形で考えます。
sin, cos, tanはある角度からみた2辺の長さの比を表します。また、ある角度のことをθと表します。ある角度θからみたsinをsinθと書きます。cosθもtanθも同様です。つまりはマクロみたいに、ある2辺の比をsin, cos, tanで省略して書きますよーと宣言したんですね。
ちなみに、単にθと書くと弧度法のラジアンを表します。ラジアンの節までは度数法の°を使います。

sinθ°

sinθ°は、ある角度θ°からみた斜辺の長さと垂線の長さの比です。

f:id:detamamoru:20191115144207p:plain
図4: sinθ°
以下の問題でsinになじんでみます。
f:id:detamamoru:20191115144327p:plain
図5: sinの練習問題
角度が30°で斜辺が8、垂線がxの直角三角形です。このxを求めます。
sinθの公式から、
sin30° = \frac{x}{8}
xの式に直すと、
x = {8} \times sin30°
sin30°は三角比から1/2となります。よって、
x = {8} \times \frac{1}{2} = 4

cosθ°

cosθ°は、ある角度θ°からみた斜辺の長さと底辺の長さの比です。

f:id:detamamoru:20191115152521p:plain
図6: cosθ°
先ほどと同じ問題でcosにもなじんでみます。
f:id:detamamoru:20191115152656p:plain
図7: cosの練習問題
角度が30°で、斜辺の長さが8、底辺がxの直角三角形です。xを求めます。
cosθの公式から、
 cos30° = \frac{x}{8}
xの式に直すと、
 x = 8 \times cos30°
cos30°は三角比から \frac{\sqrt{3}}{2}となります。よって、
 x = 8 \times \frac{\sqrt{3}}{2} = 4\sqrt{3}となります。
先の節の結果と合わせて、ピタゴラスの定理で確認してみましょう。
ピタゴラスの定理c^2 = a^2 + b^2から、
 8^2 = (4\sqrt{3})^2 + 4^2
右辺と左辺をそれぞれ計算すると、
 \begin{align}
8^2 &= (4\sqrt{3})^2 + 4^2 \\
64 &= 16 \times 3 + 16 \\
 &= 48 + 16 \\
 &= 64
\end{align}
合ってそうです。

tanθ°

tanθ°は、ある角度θ°からみた底辺の長さと垂線の長さの比です。

f:id:detamamoru:20191115154239p:plain
図8: tanθ°
同じように、問題でtanになじみます。
f:id:detamamoru:20191115154404p:plain
図9: tanの練習問題
角度が30°で、垂線の長さが4、底辺の長さがxです。xを求めます。
tanθの公式より、
 tan30° = \frac{4}{x}
xの式に直すと、
 x = \frac{4}{tan30°}
tan30°は三角比から \frac{1}{\sqrt{3}}となります。よって、
 \begin{align}
x &= \frac{4}{\frac{1}{\sqrt{3}}} \\
&= 4 \times \sqrt{3} = 4\sqrt{3}
\end{align}
これは先の節で確認した通りの値となっていますね。

弧度法とラジアン

弧度法です。弧度法は、角度を円弧の長さと半径で求める方法のことです。もっというと半径の長さと弧の長さの比です。

f:id:detamamoru:20191115213035p:plain
図10: radian
弧度法で求めた角度の値をラジアンといい、単位がradと表します。単位は省略されることが多いです。
弧の長さが半径と同じになる扇形の中心角を1radとします。1radをπ倍すると180°になります。

cosθはx、sinθはy

単位円において、cosθはxに、sinθはyに対応します。

f:id:detamamoru:20191116091433p:plain
図11: cosθをx、sinθをy