元球

维基百科,自由的百科全书
跳转到导航 跳转到搜索
File:Metaballs.gif
两个变形球

变形球计算机图形学中的 n 维物体。变形球渲染技术最初是 Jim Blinn 于1980年代初提出的。

每个变形球都是一个 n 维函数,其中最常用的是三维变形球 <math>f(x,y,z)</math>。并且每个变形球都有一个定义体积大小的阈值。于是,

<math>\sum_{i=0}^n \mathit{metaball}_i(x,y,z) \leq \mathit{threshold}</math>

表示 <math>n</math> 个变形球表面包围的立体是否包含 <math>(x,y,z)</math>。 变形球的一个典型函数是 <math>f(x,y,z) = 1 / ((x-x_0)^2 + (y-y_0)^2 + (z-z_0)^2)</math>,其中 <math>(x_0, y_0, z_0)</math> 是变形球的中心。但是由于涉及到除法运算,所以计算开销很大。正因为如此,所以通常使用近似多项式函数表示。[来源请求]

有许多方法可以将变形球渲染到屏幕上,其中两种最常用的方法是强力光线投射以及行进立方(marching cubes)算法。

在1990年代二维变形球的使用非常广泛,在 XScreensaver 模块中也有这种效果。

其它阅读材料[编辑]