円からエピサイクルへ(第1部) - フーリエ級数のためのアニメーション入門
目次
- 円
- 数 π
- ラジアン
- 正弦と余弦
- 余弦が正弦を導く
- 余弦と正弦の対称性
- 複素数と単位円
i との乗算は π/2 回転
- オイラーの恒等式
- オイラーの公式、e、π、i のつながり
- 正弦と余弦の指数形式
- 正弦波
- 正弦波の柔軟性
- 複素正弦波
- 正弦波の打ち消し合い
- 正弦波の和が複雑さを生む
- 遊びで正弦波を足してみる
- 正弦波テトリス
- 正弦波と方形波
- エピサイクル - 最初の出会い
- エピサイクル - 直感的理解
- エピサイクル - 花
- フーリエ級数
- フーリエ級数の指数形式
- 例: ボックス関数のフーリエ級数
- 例: 三角波のフーリエ級数
- 例: のこぎり波のフーリエ級数
- フーリエ級数マシン
円
- 円は中心 P(a, b) と半径 r を持つ幾何学図形である。
- 単位円は中心が (0, 0) で半径が 1 の円である。
- 円は対称性の極致である。
数 π
- π は円周と直径の比率である。
- π は約 3.14 で、円周や面積の計算に使われる。
- π は無理数かつ超越数である。
ラジアン
- ラジアンは角度を測る実際的な単位である。
- 角度をラジアンに変換するには、角度に π を掛けて 180 で割る。
正弦と余弦
- 正弦と余弦は単位円上で定義される。
- 正弦は y 座標、余弦は x 座標を表す。
- 2 つの関数は周期関数であり、周期は 2π である。
余弦が正弦を導く
- 余弦は正弦より π/2 だけ先行する。
- sin(x + π/2) = cos(x)
余弦と正弦の対称性
- 余弦は偶関数で、cos(x) = cos(-x) である。
- 正弦は奇関数で、sin(-x) = -sin(x) である。
複素数と単位円
- 複素平面では、円上の点は z = cos(θ) + i*sin(θ) で定義される。
i との乗算は π/2 回転
- 複素数を
i と掛けると、反時計回りに π/2 だけ回転する。
オイラーの恒等式
- 自然指数関数は e^x と表され、e は約 2.71828 である。
- e と円の間には強い結びつきがある。
- e^(ix) = cos(x) + i*sin(x)
オイラーの公式、e、π、i のつながり
- オイラーの公式: e^(ix) = cos(x) + i*sin(x)
- x = π のとき、e^(iπ) + 1 = 0
正弦と余弦の指数形式
- cos(x) = (e^(ix) + e^(-ix)) / 2
- sin(x) = (e^(ix) - e^(-ix)) / (2i)
正弦波
- 正弦波は A*sin(2πft + φ) で定義される。
- A は振幅、f は周波数、ω は角周波数、φ は位相オフセットである。
正弦波の柔軟性
- 正弦波はさまざまな振幅、周波数、位相で調整できる。
複素正弦波
- 複素正弦波は、2 つの正弦波(余弦と正弦)のふるまいを捉える。
- 実部は余弦、虚部は正弦としてふるまう。
正弦波の打ち消し合い
- 同じ振幅を持ちながら逆の周波数を持つ 2 つの正弦波は互いに打ち消し合う。
正弦波の和が複雑さを生む
遊びで正弦波を足してみる
- 複数の正弦波を足すと、さらに複雑なパターンが生成される。
正弦波テトリス
正弦波と方形波
- 適切な正弦波を選べば予測可能なパターンを生成できる。
- 複数の正弦波を合成すると方形波を作ることができる。
エピサイクル - 最初の出会い
- 正弦波は回転する円に対応する。
- 複数の正弦波を合成すると複雑な図形を描ける。
エピサイクル - 直感的理解
- 各エピサイクルは特定の正弦波に対応する。
- 正弦波を合成するとベクトル加算に帰着する。
エピサイクル - 花
フーリエ級数
- フーリエ級数は、周期関数を三角関数の和へ展開する数学的な手法である。
- 関数 f(x) を三角関数の和として表現する。
フーリエ級数の指数形式
- オイラーの公式を使うことで、フーリエ級数を複素正弦波の和として表現できる。
例: ボックス関数のフーリエ級数
- 方形波は正弦波の和として近似できる。
- y(x) = (4/π) * Σ (sin((2k-1)ωx) / (2k-1))
GN⁺の意見
- フーリエ級数は周期信号の解析と合成に非常に有用である。
- 正弦波と余弦波の基本概念を理解すると、複雑な信号処理に大いに役立つ。
- 複素数とオイラーの公式は信号解析で重要な役割を果たす。
- フーリエ級数は音声信号処理、画像圧縮など多様な応用分野で使われる。
- この記事はフーリエ級数の基本概念をわかりやすく説明しており、初級エンジニアに有益である。
1件のコメント
Hacker Newsの意見
Fourier変換を理解するのに長い時間がかかった。Discrete Fourier Transform (DFT)を理解した後、逆FFT、Plancherelの定理、Parsevalの定理も自然に理解できた。線形代数を理解した後は、連続的なFourier変換へ拡張するのも簡単だった。視覚資料より数式を見るほうが自分にはわかりやすかった。
ソースコードのリンクが間違っていた。実際のリンクはこちら。Processingを使ってアニメーションを実装したようだ。
Fourier変換の説明はFeynman講義にもある。リンク
FFTを理解するために、Georgia Techの
Introduction to Graduate Algorithms講義を受けて、Pythonですべて実装した。本当に良い講義だった。リンクFourier変換についてはある程度理解していて、多くの人がこれを扱っている。Laplace変換についても取り上げてほしい。電子回路解析で使ったが、今は忘れてしまった。リンク
エピサイクルアニメーションはFourier級数の複雑な表現を理解するのにとても役立った。この投稿はそのページをはるかに上回っている。今後、人に共有するつもりだ。
このチュートリアルは教科書と一緒に使うのに素晴らしい。アニメーションとインタラクティブアニメーションが気に入った。ただし、校正は必要だ。
素晴らしい例と見事なウェブサイトに感謝する。このサイトは軽快に扱えるが、たいていの静的ニュースサイトはブラウザを頻繁にクラッシュさせる。
信号処理の素晴らしい入門書がある。可視化が好きな人におすすめ。リンク
この人のほかの素晴らしい作品もある。リンク