忍者ブログ

Fグループ電子工作講座

秋月電子SH7125ボードで始めるマイコン開発

数学の基礎(三角関数1:基本編)

三角関数はロボットを制御するうえで必須知識の一つです。
しかし、三角関数はテストで点をとるためだけに使わされる単なる記号としか思っていない人も少なからず居ます。
これでは積極的に三角関数を使うことができません。
そこで、三角関数を躊躇なく使える様に理解していきましょう。

関連:工学を学ぶ上で必要となる知識

三角関数の概念

三角関数は基本的にベクトル等のどこかとどこかの比率を示す関数です。

rを基準としたyの比率:y/r
rを基準としたxの比率:x/r
xを基準としたyの比率:y/x

これらの割合は角度θによって変わります。
rの大きさが変わっても一緒にxおよびyも同じ比率で大きさが変わるので割合は変わりません。

θが90°~180°の間だとxは負の値になります。


θが0~-90°の間または上からぐるっと回って270°~360°の間だと、xが正、yが負になります。


-90°~-180°(180°~270°)の間では両方負になります。

角度θからこれら3つの割合を求める関数が三角関数と呼ばれます。

 角度θの時、rを基準としたyの大きさ:y/rsin(θ) 日本語で正弦
 角度θの時、rを基準としたxの大きさ:x/rcos(θ) 日本語で余弦
 角度θの時、xを基準としたyの大きさ:y/xtan(θ) 日本語で正接

また、あまり使う機会が無いのですが、
 角度θの時、yを基準としたrの大きさ:r/ysec(θ) = 1/sin(θ) 日本語で正割
 角度θの時、xを基準としたrの大きさ:r/xcsc(θ) = 1/cos(θ) 日本語で余割
 角度θの時、yを基準としたxの大きさ:x/ycot(θ) = 1/tan(θ) 日本語で余接
も三角関数らしいです。


授業だとsin(x)とか書きますが、見ての通り

基本的に三角関数に入れる値は「角度」です。


三角関数の使い道

様々な場面で使います。
ベクトルと三角関数は切っても切れない関係にあります。
微積や行列とセットで使うことも多々ありますが、それは今後解説します。

三角関数単体だと、rθが分かっていてxyを求めたい時に使います。
 y/r = sin(θ) なので y = r sin(θ)
 x/r = cos(θ) なので x = r cos(θ)
 y/x = tan(θ) なので y = x tan(θ) または x = y/tan(θ)
おまけで
  tan(θ) = y/x = r sin(θ)/r cos(θ) = sin(θ)/cos(θ)

例えばベクトルの回で紹介したパターン2をパターン1へ変換する際に必要となります。
 
この図の例だと
 x1 = r1 cos(θ1)
 y1 = r1 sin(θ1)
とかで使います。

2つ繋がっている場合
 
緑と深緑のベクトルのX方向成分、Y方向成分はそれぞれ
緑のベクトル
 x1 = r1 cos(θ1)
 y1 = r1 sin(θ1)
深緑のベクトル
 x2 = r2 cos(θ2)
 y2 = r2 sin(θ2)
となります。
この二つのベクトルを足し合わせると黄緑のベクトルになりますが、
黄緑のベクトルのX方向成分、Y方向成分はそれぞれ
 x1+2 = x1 + x2 = r1 cos(θ1) + r2 cos(θ2)
 y1+2 = y1 + y2 = r1 sin(θ1) + r2 sin(θ2)
と計算することができます。


ロボットアーム等回転関節を持つ装置の位置(座標)計算を行ううえで

三角関数は必須

です。

移動ロボットの軌道計算をする場合も

三角関数は必須

です。


角度の変化と割合の変化

もう一度最初の図に戻ります。

角度θが0°時、x=r、y=0となります。
従って
 sin(0°) = y/r = 0/r= 0
 cos(0°) = x/rr/r= 1
 tan(0°) = y/x = 0/x= 0
となります。

ここから角度θを増やしていくとどうなるか考えます。

sin(θ)の変化

sin(θ)はθ=0°から角度を増やしていくと、yにつられて値がだんだん大きくなります。
θ=90°に近づくにつれてyrにじわじわと近い値になります。
θ=90°でyrと同じ値になり、今度はじわじわと値が小さくなります。
θ=180°でyが0になった後、今度はマイナスになります。
θ=270°でyは-rと同じ値になり、θ=360°でまた0に戻ります。

sin(θ)はθ=0°から角度を減らすと、yにつられて値が小さくなり、θ=90°でyは-rと同じ値になります。

まとめるとyの変化は
 -r0r → 0 → -r → 0
y/rの変化は
 -1 ← 0 → 1 → 0 → -1 →0
となります。

θの変化に対するsin(θ)の変化をグラフにするとこうなります。

俗に言うsin波(正弦波)です。

cos(θ)の変化

cos(θ)はθ=0°から角度を増やしていくと、xにつられて値がじわじわ小さくなります。
θ=90°に近づくにつれてxは値が小さくなります
θ=90°でxは0になり、更にマイナスになります。
θ=180°に近づくにつれてx-rにじわじわと近づきます。
θ=180°でx-rと同じ値になり、今度はじわじわと値が大きくなります。
θ=270°でxは0に戻り、更にプラス側へ増えてきます。
θ=360°に近づくにつれてxrにじわじわと近づき、xrと同じ値になります。


cos(θ)はθ=0°から角度を減らすと、xにつられて値がじわじわ小さくなり、θ=90°でxは0になります。

まとめるとxの変化は
 0 ← r → 0 → -r → 0 → r
x/rの変化は
 0 ← 1 → 0 → -1 → 0 → 1
となります。

θの変化に対するcos(θ)の変化をグラフにするとこうなります。
 
これがcos波(余弦波)です。

重ねて書くとこんな感じ

見ての通り波形の形状は同じで、角度が90°ずれています。
工学を学んでいるとsin波はそれなりに出てきます。

tan(θ)の変化

tan(θ)はθ=0°から角度を増やしていくと、yにつられて値が0からだんだん大きくなります。
θ=45°でxyが同じ値になります。
θ=90°でx=0、y=1になりますが、tan(θ) = 1/0 なので値が無限大になります。
θ=90°を超えたとたんに今度は-無限大になります。
θ=180°で0に戻り
θ=270°で再び無限大になった後また-無限大になります。
これを繰り返します。

グラフにするとこんな感じ。

sin、cosとは全然違う波形になります。

波形の上下が切れているので縮尺を変えるとこんな感じ。
 
上に突き抜けたあと、下から戻ってきます。
工学の分野では正接波はまず登場しません。

ちなみに、コンピュータでグラフを書くと無限大からー無限大へ向かう線が描画される事が多々ありますが、これは間違った描画です。

コンピュータでグラフを描画する際には値を少しずつ変化させて、ひとつ前の点と現在の点にラインを引きます。本来は無限大からー無限大へ切り替わり0を通過する事は無いのですが、ひとつ前の点(無限大)と現在の点(ー無限大)の間に線を描画してしまうので、縦線が描画されてしまいます。

今回はここまで
PR

コメント

プロフィール

HN:
ぼんどF博士
性別:
男性

最新コメント

[02/26 とし]
[02/25 ぼんどF博士]
[02/25 とし]
[10/25 ぼんどF博士]
[10/18 ss400]