メタボール

曖昧さ回避 アンリ・デュティユーの管弦楽曲については「メタボール (デュティユー)」をご覧ください。
2つのメタボール

メタボール (metaball) は、コンピュータグラフィックス用語で、複数のオブジェクト同士が接近し、融合し、1つのオブジェクトとなる過程を描く、n 次元の有機的なオブジェクトを表す言葉である。数学的には、陰関数曲面の一種。メタボールをレンダリングするための技術は、ジム・ブリンによって 1980 年代初期に発明された。ブリンはblobと称したが、独立に大阪大学の大村皓一らによりこの技術は開発され、大阪大のグループがメタボールと称した。

メタボールは、それぞれ、n 次元の関数(つまり、3 次元なら f ( x , y , z ) {\displaystyle f(x,y,z)} ;。3 次元メタボールが最もよく使われる)として定義される。さらに、ソリッド・ボリュームを定義するためにしきい値が選択される。

そして、

i = 0 n m e t a b a l l i ( x , y , z ) t h r e s h o l d {\displaystyle \sum _{i=0}^{n}\mathrm {metaball} _{i}(x,y,z)\leq \mathrm {threshold} }

により、点 ( x , y , z ) {\displaystyle (x,y,z)} が、 n {\displaystyle n} 個のメタボールによって定義される面に囲まれたボリュームに含まれるかどうかが表される。

メタボールに使われる代表的な関数は、 f ( x , y , z ) = 1 / ( ( x x 0 ) 2 + ( y y 0 ) 2 + ( z z 0 ) 2 ) {\displaystyle f(x,y,z)=1/((x-x_{0})^{2}+(y-y_{0})^{2}+(z-z_{0})^{2})} である。ただし、 ( x 0 , y 0 , z 0 ) {\displaystyle (x_{0},y_{0},z_{0})} はメタボールの中心である。けれども、この式には割算が含まれているので、計算量的には高コストである。したがって、通常は、近似多項式関数が使われる。

メタボールを画面上にレンダリングするためには、さまざまな方法がある。最もよく使われるのは、ブルートフォース・レイキャスティング、および、マーチングキューブ法の 2 つである。

1990年の「国際花と緑の博覧会」の富士通パビリオンで公開された立体映像中に登場する「水滴が飛び散るシーン」が、初めて広く一般向けに公開されたメタボール技術による3D映像である。[要出典]

1990年代には、2 次元のメタボールがデモ効果としてよく使われた。この効果は、XScreensaver のモジュールにもなっている。

文献

  • Blinn, James F.  "A Generalization of Algebraic Surface Drawing." ACM Transactions on Graphics 1(3), July 1982, pp. 235–256.
  • T. Nishita, E. Nakamae, "A Method for Displaying Metaballs by using Bezier Clipping," Computer Graphics Forum, Vol.13, No.3, 1994, pp.271-280.

関連項目

  • 表示
  • 編集