ボロノイ図
2009/12/01 20:29 - AS3.0
FITC Tokyo 2009 の興奮冷めやらぬ日々、皆さんいかがお過ごしですか。
オレ様ちゃんとしては、最も衝撃を受けた Quasimondo 先生に、1ミクロンでも近づきたい。 ってなわけでボロノイ図がどんなもんなんだか、少しずつ学んでいるところです。 けど良くわがんね。
んなわけで、手っ取り早く、Saqoosha 先生方式で行くことにしました(Saqoosha 方式とは何かってのは「.fla 2」のP198を参照のこと)。
Voronoi Diagram と Actionscript で検索かけたらば、当の Quasimondo 先生のブログに行き着きましたよ。 2002年9月17日付けでエントリーされた「exploring voronoi diagrams」という記事で、fla ファイルがダウンロードできるようになってます。
2002年って Flash のバージョン幾つだ? fla ファイルにコードが直接書かれています。AS 2 です。 createEmptyMovieClip とか、もう見ることはないだろうと思っていたのに。
で、それを AS 3.0 で、自分の都合の良いように移植したのが下のものです。
オリジナルでは点の動きにもっと複雑な計算をさせていますが、それは簡略化しました。 ボロノイ図をボロノイ図たらしめる境界線がどのように描かれるのか、という部分に注力したかったので。
で、その肝心の注力したかった部分ですが…… さっぱりわがんね。
ENTER_FRAME で呼び出される setVoronoi() と drawVoronoi() の二つのメソッドです。 setVoronoi() で任意の二点間同士で何らかの計算をおこない、それを全ての点の組み合わせで実行し、計算結果を4つの配列(X座標の開始点と終了点、Y座標も同様)に値を格納。 その値を元に drawVoronoi() で moveTo() と lineTo() で線を引く。
それは分かるんですが、何でこういう計算方法をとるのか、ってのが全く理解の外。 だから単純に写経しただけ。誰かボロノイ図について易しく教えてくだちい。