タイリング・パターン

2011 / 08 / 31 by
Filed under: AS 
Bookmark this on Delicious
[`livedoor` not found]
[`yahoo` not found]

いつぞやカオス・アトラクタを学習したとき、最初に wonderfl に投稿したのは「Clliford Attractor」でした。
その説明でも書きましたが、クリフォードというのは人名でして、そのアトラクタに名を記す Clifford A. Pickover の著書「コンピュータ・カオス・フラクタル―見えない世界のグラフィックス」を先般、読みました。

複素数だの指数だの複雑な計算頻出で、数学苦手なワタクシはあまりよく理解できなかったんですが、それなりに面白い結果が出る知識をひとつ得たので wonderfl に投稿してみましたよ。
サイン関数を使ったタイリング・パターンの描画です。

その処理内容はと言うと、矩形領域の全ピクセルを走査して、各ピクセルごとに方程式に基づいて計算をおこなう、というもの。
ソースを見ていただくと、お分かりになろうかと思いますが、すっげー簡単です。にも関わらず、なかなか面白いパターンを描くという、意外な優れもの。それが↓

タイリング・パターン – wonderfl build flash online

蛇足な解説。
各ピクセルに対しておこなわれている計算は、以下のとおり。

var resutl:int = b * (Math.sin(x * a) + Math.sin(y * a)) >> 0;
if (result % c == 0) bitmapData.setPixel(x, y, color);

x、y は走査ピクセルの座標で、a、b、c はユーザが指定する定数。
投稿作品ではボタンでプリセット値の代入、スライダーで変動値の代入をできるようにしました。

座標値と a、b とサイン関数を使って得た結果を整数化し、その値を c で割った余りが 0 の場合、描画する、というただこれだけのもの。
もービックリするくらい単純。ところが、そんな単純なことが、正方形分割のタイリング・パターンを描き出すという不思議。
サイン関数が波を描く性質に由来するものなんでしょうが、数の神秘を感じますねぇ。
変数 a が 11 の倍数のときに、とりわけ面白いパターンになります。いろいろ試してみてください。

[ad#aquioux_net_article]



Comments

Tell me what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!





WP-SpamFree by Pole Position Marketing