忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

離散フーリエ変換の周期的パターン

前回のデモは複雑なデータを単純な波のコレクションに分解してしまうというものでした。これには面白い副産物があります。波から再構成したデータは、無限に同じパターンを繰り返すようになるのです。


パターンは繰り返す

前回のデモは、複雑なデータを単純な波のコレクションに分解します。分解するのに使った波の性質のおかげで、面白い副作用が起きます。データを波から再構成すると、エッシャーの絵や自分が自分の親になるタイムトラベルのように、無限に繰り返すようになるのです。

デモ

この繰り返しを体験できるデモを用意しました。黒フチのキャンバス内をクリックすると、データを変えれます。このとき驚くべきことに、クリックしていないところも変化します。実はそこは、繰り返しデータの同じ場所なのです。合わせ鏡の中であっかんべーをしたら、鏡の中あなたもあっかんべーをするでしょう。

前回もそれは同じなのですが、繰り返し部分を描画していなかったのでそれがわかりませんでした。今回は表示する部分を2倍にしているので、それがわかります。[位置]入力欄の数字を変化させると、パターンが2回だけでなく、無限回繰り返している光景を目にすることが出来るでしょう!

位置:

なぜこうなるのか?

どうして同じパターンを繰り返すようになるのでしょう?それは、波とはそもそも同じパターンを繰り返すものだからで、それらを合わせて作った複雑な図形も繰り返して当然というわけです。

(※ただし例外はあり、波長1の波と波長π(=3.14...)の波を足して図形を作ると、繰り返しのない常に新しく変化し続けるパターンが作れます。しかしコンピュータでフーリエ変換する場合は、波長2と波長3のような整数比をとる波のみを使うため、そんな心配をする必要はありません(円周率の正確な値をコンピュータに入れるには無限のメモリが必要であり、どんな大国の国家予算でもそれを賄うことは出来ません)。繰り返しの周期が短いか長いかの違いはありますが、必ず繰り返すのです。)

このフーリエ変換の波の周期を表した図です。描かれた範囲内には整数個の波しかありません。つまり左端と右端はドーナッツのようにつながっているも同然です。だから横には全く同じ図形が描かれることになるのです。

これは和音の話に似ています。人が聞いた時心地よく感じる協和音は、周期が単純な整数比のみの音からなるので繰り返しの周期が短いですが、嫌な音である不協和音は比が複雑なので周期が長いです。フーリエ変換で言うと、短いデータが協和音で、長いデータが不協和音というわけです。

手足の話

すこしたとえ話をさせてください。以上の話は私達の手足に似ています。私達の手足には5本の指があり、長さや太さに違いはあるものの、構造はそっくりです。

たぶん、手足を作るのに、共通の遺伝子が使われているのでしょう。そうでもなければ足の指はとっくに退化してなくなっていてもおかしくありません。足の小指にどんな意味があるというのでしょう?まあ…体のバランスをとるのに役に立つでしょう。しかしいかにも脆弱そうな指の関節などは必要ないはずです。私には必要以上に複雑に思えます。もちろん現実には退化していないわけで、たぶん足の指を退化させようとすると、手の指に悪い影響が及ぶのでしょう。だからまあ、一見不要に思えて本当は必要だったというわけです。

これは波の話にそっくりです。上のデモで指のついた肢をつくると2つの肢が表示されますが、片方の指だけを消すことは出来ません。個体発生のときに生物が化学的な波を作り出すというのは事実なので、ここにはたんなるたとえ話以上のものがあるかもしれませんね。

拍手[0回]

PR