やはりプログラミングに数学はつき物です。ここではよく使われる数学について簡単に解説します。
総和とはいわゆるExcelのSum関数です。つまり全部足す、だから総和です。{{attach_view(sum.png)}}のような書式で表されます。iが1から始まってnまでXiを足していくという意味です。なんだかforループみたいですね。
{{attach_view(sum_exp.png)}} のように展開されます。
1ラジアンは半径と同じ長さ分の円周を持つ孤の角度です。単位はradで1rad≒57度です。下図の半径の赤い線と円周の赤い線の長さは同じです。この時のθが1radです。
{{attach_view(radian.jpg)}}
360度はラジアンを使って表すと、2πradと簡潔に表せます。同様に180度はπrad、90度はπ/2radと表すことができます。
下の図のような単位円(半径が1)を考えます。その時、y=sinθ,x=cosθ。そしてtanθ=y/xと定義します。
{{attach_view(sankaku.jpg)}}
sinとcosのグラフは以下の通りである。周期性が確認できる。
{{attach_view(graph.jpg)}}
Sinは上の定義よりBC/ABです。覚え方はsの筆記体をなぞるようにします。θの位置に気をつけてください。この場合のSinθは1/sqrt(2)です。
{{attach_view(sin.png)}}
Cosは上の定義よりAC/ABです。覚え方はCを描くようにします。この場合のCos30°はsqrt(3)/2です。
{{attach_view(cos.png)}}
tanは上の定義よりAC/BCです。覚え方はtを筆記体で書くようにします。この場合のtan60°はsqrt(3)です。
{{attach_view(tan.png)}}
三角関数は以下のような値をとる
角度 | sin | cos | tan |
0 | 0 | 1 | 0 |
30° | 1/2 | sqrt(3)/2 | 1/sqrt(3) |
45° | 1/sqrt(2) | 1/sqrt(2) | 1 |
60° | sqrt(3)/2 | 1/2 | sqrt(3) |
90° | 0 | 1 | 定義されない |
普通グラフになにか書くときは軸がX,Yで表されたもの(直交座標)で書いていたと思う。しかし極座標というものを用いて表したほうが完結に記述できる場合もある。
極座標とはθと半径rを用いて表す座標のことで、円運動などを表すのにとても便利だ。特にゲームなどでは使えるだろう。以下のように点Pはθとrによって与えられる。x=rCosθ,y=rSinθと直せる。
{{attach_view(Polar_coordinates.png)}}
各要素をそのまま足せばいい
{{attach_view(matrix_plus.jpg)}}
{{attach_view(matrix_times_def.png)}}
かけていく順番がややこしいのでよく追って確認してください。
{{attach_view(matrix_time_exp.png)}}
量が多いので別ページにしました。こちら→複素数
文字式をsinとcosのみを使った式に変換することをフーリエ変換と言います。
その変換された式をフーリエ級数といいます。 xの式 sin(nx)とcos(nx) (n∈N)は、一次独立なのを利用して
a[0]/2+Σ[n=1~∞]{a[n]cos(nx)+b[n]sin(nx)}
という式に変換することを目的とします。 f(x)というxの式を上の形の式にしようと思ったとき
a[0]=(1/2π)∫[-π~π]f(x)dx
a[n]=(1/2π)∫[-π~π]f(x)cos(nx)dx
b[n]=(1/2π)∫[-π~π]f(x)sin(nx)dx
という特徴を利用します。 証明は省略しますが、実際に計算すれば正しい事がすぐ分かると思います。
ちなみに、a[0]の計算はa[n]にn=0を代入した形になってるのにすぐ気づいたと思います。 しかしn∈Nと初めに書いたので、a[n]とは別に書いておきました。
変換の方法は以上です。