Zum Inhalt springen

„Metaball“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][Sichtung ausstehend]
Inhalt gelöscht Inhalt hinzugefügt
revert - absolut unverständliches Geschreibsel (Tippos)
fixed typo (geq statt leq)... siehe auch englischsprachige Version
 
(29 dazwischenliegende Versionen von 28 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:Metaballs.png|mini|1 = zwei positive Metaballs verschmelzen ineinander, 2 = ein negativer Metaball drückt einen positiven ein]]
Ein '''Metaball''' ist das Ergebniss eines [[3D]]-[[Algorithmus]], das eine dehnbare Oberfläche erzeugt, die die Form einer Kugel (bei genau einem) oder eine Menge von ineinander gehenden Kugeln erzeugt.


Ein '''Metaball''' ist das Ergebnis eines [[Algorithmus]], der eine dehnbare Oberfläche erzeugt, die die Form einer Kugel (bei genau einem) oder eine Menge von ineinander gehenden Kugeln erzeugt. Der Algorithmus wurde in den frühen 1980ern von [[Jim Blinn]] entwickelt.
[[Kategorie:Computergrafik]]


Ein Metaball ist als eine [[Funktion (Mathematik)|Funktion]] in <math>n</math> Dimensionen definiert, für die üblichen drei Dimensionen also entsprechend <math>f(x,y,z)</math>. Um ein [[Volumen]] zu erzeugen, wird ein [[Schwellenwert]] gewählt.
[[en:Metaballs]]
: <math>\sum_{i=0}^m \mathit{Metaball}_i(x,y,z) \geq \mathit{Schwellenwert}</math>
definiert dann, ob der von <math>m</math> Metaballs definierte Körper am Punkt <math>(x,y,z)</math> gefüllt ist.


Eine typische Metaball-Funktion ist
{{Stub}}
: <math>f(x,y,z) = \frac{1}{(x-x_0)^2 + (y-y_0)^2 + (z-z_0)^2}</math>
wobei <math>(x_0,y_0,z_0)</math> das Zentrum des Balles angibt und <math>(x,y,z)</math> den zu untersuchenden Punkt. <math>f(x,y,z)</math> gibt dann also die Stärke des Balles an diesem Punkt zurück, ist die Summe der Stärken aller Bälle an diesem Punkt größer als der Schwellenwert, so ist der Körper dort gefüllt.
Da die Funktion auf Grund der [[Division (Mathematik)|Division]] rechenintensiv ist, werden auch [[Polynom|polynomiale]] Annäherungen verwendet.

Es gibt viele Wege, Metaballs zu [[Bildsynthese|rendern]], die beiden gebräuchlichsten sind [[Raycasting]] und der [[Marching Cubes|Marching-Cubes]]-Algorithmus.

== Literatur ==
* James F. Blinn: ''A Generalization of Algebraic Surface Drawing''. In: ''[[ACM Transactions on Graphics]]'', 1(3), Juli 1982, S. 235–256.

[[Kategorie:Geometrische Modellierung]]

Aktuelle Version vom 23. Juni 2025, 11:07 Uhr

1 = zwei positive Metaballs verschmelzen ineinander, 2 = ein negativer Metaball drückt einen positiven ein

Ein Metaball ist das Ergebnis eines Algorithmus, der eine dehnbare Oberfläche erzeugt, die die Form einer Kugel (bei genau einem) oder eine Menge von ineinander gehenden Kugeln erzeugt. Der Algorithmus wurde in den frühen 1980ern von Jim Blinn entwickelt.

Ein Metaball ist als eine Funktion in Dimensionen definiert, für die üblichen drei Dimensionen also entsprechend . Um ein Volumen zu erzeugen, wird ein Schwellenwert gewählt.

definiert dann, ob der von Metaballs definierte Körper am Punkt gefüllt ist.

Eine typische Metaball-Funktion ist

wobei das Zentrum des Balles angibt und den zu untersuchenden Punkt. gibt dann also die Stärke des Balles an diesem Punkt zurück, ist die Summe der Stärken aller Bälle an diesem Punkt größer als der Schwellenwert, so ist der Körper dort gefüllt. Da die Funktion auf Grund der Division rechenintensiv ist, werden auch polynomiale Annäherungen verwendet.

Es gibt viele Wege, Metaballs zu rendern, die beiden gebräuchlichsten sind Raycasting und der Marching-Cubes-Algorithmus.