メタボール

提供: testwiki
ナビゲーションに移動 検索に移動

テンプレート:Otheruses

2つのメタボール

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

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

そして、

i=0nmetaballi(x,y,z)threshold

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

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

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

テンプレート:要出典

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.

関連項目

テンプレート:Computer-stub