三角関数とは円の回転をあらわす関数

科学・テクノロジー

三角関数をご存知ですか?

以前、橋下徹さんが「学校では教えなくてもいい!?」と言ったサイン、コサイン、タンジェントのことです。

実はこの三角関数。AIやロボティクスなど様々な場面で使われています。三角関数という名前から三角形に限定した関数だと思われがちですが、実は円の回転をあらわす関数としても利用されているんですよね。

そこで今回は『数学ガールの秘密ノート/丸い三角関数』を参考に、三角関数の基礎について紹介します。

スポンサーリンク

三角関数とは?

たとえば、次のような直角三角形を考えた場合、

角\(θ\)の値を変えないで辺\(c\)の長さを2倍にすると(\(c’\))、辺\(b\)の長さも2倍になります(\(b’\))。言い換えると、角\(θ\)の大きさが一定であれば、辺\(b\)と辺\(c\)の比(\(=b/c=b’/c’\))は一定になります。

これを式で表したのが\(\sin\)(サイン)です。

\begin{equation}
\sin θ=\frac{b}{c}=\frac{b’}{c’}
\end{equation}

同様に角\(θ\)の大きさを変えないで辺\(c\)の長さを2倍にすると(\(c’\))、辺\(a\)も2倍になります(\(a’\))。先ほどと同じように角\(θ\)の大きさが一定であれば、辺\(a\)と辺\(c\)の比(\(=a/c=a’/c’\))は一定になります。

これを式で表したのが\(\cos\)(コサイン)です。

\begin{equation}
\cos θ=\frac{a}{c}=\frac{a’}{c’}
\end{equation}

以上で三角関数の基本は終わりです。ただし、直角三角形で考えると、\(θ\)は\((0<θ<90)\)に制限されてしまいますよね。そこで、以下のような半径が1の円を考えます。

角\(θ\)を変化させていくと、点Pは円を描きます。それぞれの点で直角三角形を考えれば、三角関数が計算できますよね。つまり、\(θ\)の制限なく三角関数を求めることができます。

これが三角関数が円関数と言われる理由です。

スポンサーリンク

回転行列とは?

では、三角関数を使って回転の計算をしてみたいと思います。たとえば、\(xy\)平面にある点\((a,b)\)を\(θ\)だけ回転させた場合、回転後の点\((a’,b’)\)はどうやって求めればいいのでしょうか。

直接この問題を解くのは難しいので、まずは点\((a,0)\)、つまり\(x\)軸から\(θ\)だけ回転した場合を考えてみます。

先ほどの三角関数を使えば次のように式が書けます。

\begin{eqnarray}
\cos θ &=& \frac{a1}{a} \\
\sin θ &=& \frac{b1}{a}
\end{eqnarray}

この式を変形すると以下のようになります。

\begin{eqnarray}
a1 &=& a \cos θ \\
b1 &=& a \sin θ
\end{eqnarray}

同じように点\((0,b)\)、つまり\(y\)軸から\(θ\)だけ回転した場合を考えると、

\begin{eqnarray}
a2 &=&-b \sin θ \\
b2 &=& b \cos θ
\end{eqnarray}

となります。あとは、この2つの式を組み合わせれば点\((a,b)\)から\(θ\)だけ回転した点\((a’,b’)\)を求める式がわかります。

\begin{eqnarray}
a’&=&a1+a2=a \cos θ – b \sin θ \\
b’&=&b1+b2=a \sin θ + b \cos θ
\end{eqnarray}

とはいえ、この式は\(a,b\)(ベクトル)と三角関数がごちゃまぜになっていてわかりにくいですよね。そこで行列を使って、回転をあらわす式とそれ以外(ベクトル)に分けます。

\begin{equation}
\begin{pmatrix}
a’ \\
b’ \\
\end{pmatrix}
=
\begin{pmatrix}
\cos θ & -\sin θ \\
\sin θ & \cos θ \\
\end{pmatrix}
\begin{pmatrix}
a \\
b \\
\end{pmatrix}
\end{equation}

この\(\sin\)と\(\cos\)で構成された行列が回転行列です。回転行列は「ロボットの向きがどのように変わったか?」といった問題を計算するときに役立ちます。

スポンサーリンク

まとめ

今回は『数学ガールの秘密ノート/丸い三角関数』を参考に、三角関数の基礎を紹介してきました。

将来、三角関数は学校では教えてもらえなくなるかもしれませんが、AIやロボティクスなど幅広い分野で活用されているので、絶対に理解しておきたい内容です。

気になった方は、本書を読んで理解しておきましょう。

コメント

タイトルとURLをコピーしました