プロシージャル技術の第二ステップ~表現対象物を算術的関数を応用して表すこと

プロシージャル技術は、表現対象物によっては物理シミュレーションとの線引きが難しいわけだが、表現したいものに何かの規則性や相似性が見出せたときには、まともなシミュレーションを行わなくともそれらしく表現できることがある。

3Dグラフィックスでも反射現象や光学現象を物理モデルでなく、簡易的な関数の組み合わせで表現することが多い。例えば、テカテカした金属材質を表現する最も基本的な陰影処理としてフォン・シェーディングがあるが、これは視線ベクトル、面やピクセルの向き(法線ベクトル)、光源ベクトルの3つのパラメータで計算する、擬似的かつ算術的な鏡面反射表現だ。大胆なことを言えば金属の陰影表現のプロシージャル技術ということができる。

さて、表現したいものが、自然物の場合、その多くのものが、観測的にフラクタル関数(自己相似関数)に近いものであることがわかってきているという。

「山岳、樹木や草木、稲妻、河川、海岸線、雲、銀河などの自然物にはフラクタル理論を適用して表現できるものが多い。そこで、プロシージャル技術では、自然物をフラクタル理論で表現しようとするアプローチが起点となることが多い。」(宮田氏)

フラクタル図形とは自己相似性を持った図形のこと。これはその物体の形状全体と、その物体の細部形状に相似性がある図形を指す。

最も基本的なフラクタル図形の生成法は、与えられた形状に対し、ある取り決めた法則を反復的に適用していくこと。

宮田氏が示したコッホ曲線は、与えた線分を三角波で分割していくことを再帰的に繰り替えことで描かれる。細部の枝葉の形状が、全体形状とよく似ていることがわかるだろう。同じように矩形波で分割した例も宮田氏は示している。これらが、何となく、形状として樹木とか珊瑚とか、あるいは雪の結晶に見えては来ないだろうか。

(※画像クリックでアニメーションGIFが開きます) コッホ曲線。画像出典はイエール大学のフラクタル図形サイト。以下同

与える基本形状の図形(Initiator)を変え、その形状変換(Generator)や分割法則率(Rule)をパラメータ調整していくことで多様でなおかつ興味深い形状が得られるのだ。

宮田氏は講演では、再帰分割レベルを変えていくフラクタル図形のアニメーションを披露している。このアニメーション群はイエール大学のフラクタル図形サイトでも見られるが、ここでも興味深いものをいくつか示しておくことにしよう。

(※画像クリックでアニメーションGIFが開きます) 線分をある角度で分割していくことを繰り返したフラクタル図形。樹木に見える

(※画像クリックでアニメーションGIFが開きます) 形状を変換する際に角度変換まで加えた例

(※画像クリックでアニメーションGIFが開きます) さらにその角度変換率を増加させていくことで図形に運動を与えることも出来るという興味深い例

宮田氏が次に紹介したのは反復コピーによるフラクタル図形だ。

自分自身の形状を縮小したコピーを変調して置き換えていくもので、基本的な考え方は前出の再帰分割法と同じだ。

反復コピー法の概念

(※画像クリックでアニメーションGIFが開きます) 反復法のサンプル

シダの葉は四辺形(QUAD)を角度を付けた3つの大きさに縮小した3枚のコピーに置き換えていくことを反復的に繰り返していくと表現できるのだという。また、この縮小率、角度を変えていくことで生成されるシダ植物の種類を変えることもできる。

シダの葉は反復法のフラクタルで表現できる。ここで示されている以外のサンプルは「Ferns of the Canberra Region」で見ることができる

有名なマンデルブロー集合やジュリア集合に代表される「式の反復」によるフラクタルも紹介された。

マンデルプロー集合はとは、簡単に説明すると、

Zn+1=Zn2+c

※ただしcは複素数(complex)でc=a+ibとする

で表される漸化式で、適当な初期値を与えて繰り返し計算し適当な回数分計算させて無限大に発散するか、収束するかを見極めて、発散/収束までの計算回数などをパラメータとして複素平面a,bに適当な色を付けていくと周期性というか怪しげで奇妙な模様が現れる。

マンデルブロー集合やジュリア集合はフラクタル図形の定番中の定番