30.07.2013 Aufrufe

Partikelsysteme Ausarbeitung im Proseminar ... - Universität Ulm

Partikelsysteme Ausarbeitung im Proseminar ... - Universität Ulm

Partikelsysteme Ausarbeitung im Proseminar ... - Universität Ulm

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Partikelsysteme

Ausarbeitung im Proseminar Computergrafik von Johannes Hein

Universität Ulm, Sommersemester 2002

Betreuer: Martin Gumhold


Proseminar Computergrafik - Partikelsysteme

Inhalt

1 Einführung

1.1 Motivation

1.2 Historischer Überblick

1.3 Abgrenzung

2 Aufbau eines Partikelsystems

2.1 Partikeleigenschaften

2.2 Systemkern

2.3 Hierarchie

2.4 Rendering

3 Anwendungen

4 Fazit

3.1 Der Genesis-Effekt

3.2 Pflanzendarstellungen

3.3 Schwarmanimationen

3.4 Orientierte Partikelsysteme

3.5 Weitere Einsatzgebiete

4.1 Vor- und Nachteile

4.2 Ausblick

Quellenverzeichnis

3

4

6

7

8

10

11

13

16

18

21

22

24

25

2


Proseminar Computergrafik - Partikelsysteme

1 Einführung

1.1 Motivation

Schon seit den frühen Tagen der Computergrafik wurden auch dreidimensionale

Objekte durch im Rechner modellierte Repräsentanten dargestellt. Als Vertreter

dieser Gattung haben sich bis heute insbesondere die sogenannten Drahtgittermodelle

durchgesetzt, welche durch Netze und Kombination von Polygonen oder

B-Splines erzeugt werden können.

Allerdings stellten all diese dreidimensionalen Repräsentationen immer Objekte

mit einer festen Oberfläche dar. Bis zum Beginn der 1980er Jahre blieb den

Computergrafikern das Gebiet der realitätsgetreuen Visualisierung von Objekten

mit variabler Oberfläche, wie beispielsweise elastische Gegenstände oder auch

Wasser und Feuer, verschlossen.

Dieser Zustand wurde jedoch im Jahr 1982 aufgehoben. Der Grafikspezialist

William T. Reeves, Mitarbeiter in der Computergrafikabteilung von George Lucas’

bekannter Spezialeffektfirma Industrial Light and Magic (ILM), entwickelte für

den Kinofilm ’Star Trek II: The Wrath of Khan’ (deutsch: ’Star Trek II: Der Zorn

des Khan’) einen realitätsnahen Explosions- und Feuereffekt. Grundlegendes

Schema dieses Effektes war die Darstellung der Feuersbrunst durch zahlreiche

lichtemittierende Kleinpartikel, die durch ein zentrales System ausgestoßen

wurden und sich entlang von im System festgelegten physikalischen Gesetzen

bewegten.

Reeves schuf mit dieser Entwicklung die Grundlage für zahlreiche neue

Möglichkeiten in der computergrafischen Objektmodellierung. Die Idee der

Partikelsysteme hat sich bis heute vielfach weiterentwickelt und spezialisiert. Sie

kommen heute in einer großen Anzahl von Computer- und Videospielen vor,

helfen physikalische Sachverhalte zu simulieren und sind nicht zuletzt im Bereich

ihrer Herkunft, den Spezialeffekten in Kinofilmen, mehr denn je vertreten.

Abb. 1: Szene aus dem Film ’Star Trek II: The Wrath of Khan’

Diese Ausarbeitung bietet zunächst in Kapitel 1.2 einen historischen Überblick

über die Entstehung und Entwicklung der Partikelsysteme. Kapitel 1.3 nimmt

eine kurze Abgrenzung zu anderen Formen der Modellierungs- und

Animationstechniken vor. In Kapitel 2 wird der allgemeine Aufbau eines

Partikelsystems erklärt und auf die Methoden des Rendering derartiger

3


Proseminar Computergrafik - Partikelsysteme

Animationen eingegangen. Das dritte Kapitel zeigt einige Anwendungsbeispiele

für den Einsatz von Partikelsystemen auf, wobei der Schwerpunkt auf die

ursprüngliche Arbeit von William T. Reeves am sogenannten Genesis-Effekt aus

dem Film ’Star Trek II: The Wrath of Khan’ gelegt wird. Abschließend nimmt

Kapitel 4 ein Resümee vor, in welchem eine Abwägung der Vor- und Nachteile

sowie ein Ausblick in die Zukunft der Partikelsysteme Platz finden.

1.2 Historischer Überblick

Bereits vor dem Reeves’schen Ansatz, Explosionen und Feuer durch glühende

Partikel darzustellen, gab es vergleichbare Versuche in Videospielen. Hierbei

wurde beispielsweise die Explosion eines Raumschiffes durch einzelne rot, gelb

und weiß dargestellte Punkte verwirklicht. Als eigenständige Partikelsysteme

waren jene Modellierungsformen jedoch noch nicht zu bezeichnen, da die

Explosionspartikel bzw. –pixel explizit und individuell gesetzt werden mußten.

Der von Reeves gewählte Prozeß ermöglichte erstmals die automatische

Generierung solcher Partikel. Ein Systemkern steuerte die Emission von

Partikeln, die mit diversen Attributen, wie beispielsweise Farbe,

Bewegungsrichtung, Geschwindigkeit etc., ausgestattet waren. Die

Emissionsmenge war von einer Zufallskomponente abhängig, so daß eine

Gleichförmigkeit von Animationen, die durch ein Partikelsystem erzeugt worden

waren, ausgeschlossen werden konnte. Darüber hinaus blieben nicht alle

emittierten Partikel Teil des Systems, da jedes Partikel über eine individuelle

Lebensspanne verfügte und nach Ablauf dieser Zeit starb. Eine genauere

Beleuchtung der Partikeleigenschaften und des Systemskerns erfolgt in Kapitel 2

der Ausarbeitung.

William Reeves veröffentlichte Details zu seiner Entwicklung des sogenannten

Genesis-Effektes aus ’Star Trek II: The Wrath of Khan’ in einer

wissenschaftlichen Abhandlung im ACM-SIGGRAPH Journal 1983. Bereits der Titel

seines Artikels ’Particle Systems – A Technique for Modeling a Class of Fuzzy

Objects’ (deutsch: ’Partikelsysteme – Eine Technik zur Modellierung weicher

Objekte’) lässt darauf schließen, daß Reeves’ Ansatz weit mehr als die

Darstellung einer feurigen Explosion erschloß. Vielmehr schließt die

Modellierungstechnik auch andere Objekte mit elastischer oder einer sich

fortwährend verändernden Oberfläche ein. Dazu gehören laut Reeves „Wolken,

Rauch und Wasser“ [11]; ergänzenswert seien an dieser Stelle Nebel,

Feuerwerke sowie Sandstürme.

Abb. 2: Beispiel für die Partikelanimation eines Feuerwerks

4


Proseminar Computergrafik - Partikelsysteme

Der Reeves’sche Ansatz eröffnete den Computergrafikern eine Vielzahl neuer

Möglichkeiten. Eine entscheidende Weiterentwicklung erfuhr er jedoch 1985.

Wiederum war es William T. Reeves, der in Zusammenarbeit mit Ricki Blau den

Einsatz von Partikelsystemen zur Darstellung von Pflanzen, insbesondere Gräsern

und Bäumen, vorschlug. Diese Art der Nutzung von Partikelsystemen ist

grundsätzlich von der ursprünglichen Variante verschieden und ähnelt sehr den

ansonsten in der Darstellung von Pflanzen verbreiteten, grammatikbasierten L-

Systemen. Die Arbeit von Reeves und Blau sieht vor, alle Äste und Blätter eines

Baumes als Partikel aufzufassen, wobei die Anordnung um den Stamm zufällig

erfolgt, und die Anzahl sowie Tiefe der Astverzweigungen wahrscheinlichkeitsorientierten

Aspekten unterliegen. Die Variation von Reeves und Blau wird als

Anwendungsfall von Partikelsystemen in Kapitel 3.2 noch näher erläutert.

Weitergehende Entwicklungen der Partikelsysteme sind häufig Modelle, die sehr

stark auf dem ursprünglichen Ansatz basieren und ihn nur in Details variieren. Zu

den bekanntesten Methoden sind die Arbeiten von C. W. Reynolds und Karl Sims

zu zählen.

Reynolds benutzte 1987 ein Partikelsystem, um eine naturgerechte Darstellung

eines Vogelschwarms zu erreichen. Diese Variation unterscheidet sich insofern

von Reeves’ Originalmodell, als die Vogel-Objekte (engl. bird-objects, kurz:

boids), die in diesem System die Partikel bilden, Polygon-Objekte sind. Zudem ist

deren Anzahl fest vorgegeben, wodurch Emission und Tod von boids entfallen.

Erwähnenswert ist zudem die gegenseitige Beeinflussung verschiedener boids;

konnte es beim Reeves’schen Explosionssystem durchaus mehrere Partikel

geben, welche die selbe Position im Raum einnahmen, wird bei Reynolds die

Kollision zweier oder mehrerer boids vermieden. Der Ansatz nach Reynolds

erfährt in Kapitel 3.3 eine genauere Untersuchung.

Sims entwickelte 1990 ein Modell, welches die Berechnung der Partikelpositionen

und –eigenschaften auf je einen virtuellen Prozessor pro Partikel verlegte. Dieser

Ansatz beruht auf der Tatsache, daß jedes Partikel grundlegend den gleichen

physikalischen Regeln unterworfen ist. Des weiteren enthält das Modell von Sims

die Aufteilung von Partikeln in Kopf (head) und Schwanz (tail). Diese Anordnung

ermöglicht den Effekt des sogenannten motion blurring. Dies ist eine Art von

Bewegungsunschärfe, wie sie beispielsweise von Fotos, die von rasanten

Bewegungsabläufen gemacht wurden, bekannt ist und auch bei der Darstellung

leuchtender Schweife von Kometen oder ähnlichem zum Einsatz kommt. Im

Modell von Sims wird der motion blur-Effekt durch das Setzen der Schwanz-

Position eines Partikels auf die Head-Position des selben im vorherigen Frame

erreicht.

Neben den oben genannten gibt es noch zahlreiche andere Variationen von

Partikelsystemen. Jedoch ist die grundlegende Struktur all dieser Entwicklungen

sehr ähnlich, obwohl jeweils eine Anpassung an die einzubeziehenden

physikalischen Regeln sowie Form und Bewegungsart der Partikel bei jeder

Implementierung eines Partikelsystems individuell vorzunehmen sind. Es haben

sich jedoch einige grundlegende Prinzipien durchgesetzt, die in nahezu jedem

Partikelsystem wiederzuentdecken sind. Diesen grundsätzlichen Aufbau schildert

Kapitel 2.

5


Proseminar Computergrafik - Partikelsysteme

1.3 Abgrenzung

Partikelsysteme sind nur eine Form der dreidimensionalen Objektmodellierung

bzw. Animationstechnik im Bereich der Computergrafik. Wie bereits erwähnt

eignen sie sich besonders für die Repräsentation von Objekten ohne feste

Oberfläche. Körper, die über eine feste Oberfläche verfügen, werden mit anderen

Methoden hergestellt. Als übergeordneter Begriff ist hier die Drahtgittermodellierung

zu nennen. Dabei wird ein Objekt durch eine Vielzahl von

polygonalen Flächen, die sich im Raum zur Oberfläche des zu repräsentierenden

Objektes zusammensetzen, modelliert. Andere, verwandte Ansätze erreichen

einen ähnlichen Effekt durch die Darstellung der Körperoberfläche durch Kurven,

zum Beispiel durch B-Splines.

Diese Drahtgittermodelle werden anschließend mit einer oder mehreren

Oberflächenfarben belegt; als weitere Option der Farbgebung existiert die

Textuierung, bei der kleine Pixelbilder (Texturen) auf die Oberfläche des Objektes

projiziert werden. Für die letztendliche Darstellung werden die 3D-Objekte meist

in eine speziell eingerichtete Beleuchtungssituation eingebracht, die Berechnung

des fertigen Bildes (Rendering) kann mit Hilfe diverser Beleuchtungsverfahren

(Raytracing, Radiosity, z-Buffer etc., siehe hierzu die speziellen Ausarbeitungen

in diesem Proseminar von Manuel Restle und Matthias Röhm) vorgenommen

werden.

Als Animationstechniken existieren für derartig konstruierte Objekte zum Beispiel

das Verfahren des Morphing, welches ein Objekt stufenlos in einen völlig anders

gearteten Körper überführen kann. Bei Partikelsystemen ergeben sich die

Bewegung und die Modifikation eines Objekts durch die Summe der

Einzelbewegungen aller beteiligten Partikel. Der Aufbau der Animation ist dabei

wie bei allen anderen Formen der Darstellung bewegter Bilder in der

Computergrafik gehalten. Die Animationsszenerie wird in einer bestimmten

Anzahl von Einzelbildern (Frames) pro Sekunde berechnet; die Framerate pro

Sekunde liegt meist bei 25 Einzelbildern. Werden die Frames dann mit der

entsprechenden Rate pro Sekunde abgespielt, erzeugen sie beim Betrachter

einen kontinuierlichen Eindruck der Animation.

6


Proseminar Computergrafik - Partikelsysteme

2 Aufbau eines Partikelsystems

2.1 Partikeleigenschaften

Am Beginn der Modellierung eines Partikelsystems steht die Definition eines

einzelnen Partikels. Ein Partikel kann dabei ganz unterschiedliche Formen haben.

Im Originalmodell des Genesis-Effektes nach Reeves war ein Partikel lediglich ein

sogenannter null-dimensionaler Punkt im dreidimensionalen Raum. Grundsätzlich

kann ein Partikel, wie bereits die oben beschriebenen Varianten nach Reynolds

oder Sims zeigen, auch ein anderes grafisches Primitiv, z.B. Kugel, Würfel,

Quader etc., sowie ein polygonales Objekt sein.

Gemein ist allen Ansätzen, daß Partikeln neben ihrer Grundform noch diverse

andere Eigenschaften zugeordnet werden können. Diese Eigenschaften können je

nach System und Einsatzgebiet variieren. Die gängigsten und nahezu in jedem

Partikelsystem verwendeten Parameter - neben dem bereits erwähnten Aspekt

der Partikelgestalt - sind im folgenden aufgeführt.

• Position

Die Eigenschaft Position beschreibt den Punkt im Raum, an dem sich ein

Partikel während der Laufzeit eines Frames in der Animationsszenerie

befindet.

• Geschwindigkeit und Richtung

Mit einem anfänglichen Beschleunigungs- und einem Richtungsvektor wird

die Bewegung des Partikels durch die Animationsszene festgelegt.

Richtung und Geschwindigkeit können durch äußere Einflüsse auf das

Partikel, beispielsweise Gravitation, Beschränkungen, Beeinflussung durch

andere Partikel etc., im Laufe der Lebensspanne noch geändert werden.

• Farbe

Auch die anfangs festgelegte Farbe eines Partikels muß während der

Lebensspanne nicht durchgängig gleich bleiben. In einer Explosions- oder

Feueranimation könnten Partikel beispielsweise zu ihrem Geburtszeitpunkt

weiß bis hellgelb sein, sich mit wachsender Lebensdauer ins Rötliche

verfärben und schließlich einen immer dunkleren Farbton annehmen.

• Transparenz

Vergleichbar dem Alphakanal bei heutigen Computergrafikprogrammen

können auch Partikel einen Transparenzwert haben, der sich wie die bisher

genannten Eigenschaften im Laufe der Lebenszeit noch verändern kann.

• Größe

Werden als Partikel keine null-dimensionalen Objekte wie einfache Punkte

im Raum, sondern ein- oder mehrdimensionale Strukturen verwendet,

kann einem Partikel ebenfalls eine initiale Größe zugeordnet werden,

welche unter den Einflüssen des Systems während Lebensspanne ebenfalls

variieren kann.

• Lebenszeit

Wenn vom Partikellebenszyklus die Rede ist, bezieht sich dies auf die Zeit,

die zwischen Emission (Geburt) und Ablauf des Parameters Lebenszeit

(Tod) eines Partikels liegt.

7


Proseminar Computergrafik - Partikelsysteme

Erfordert der Einsatz des Partikelsystems zum Beispiel Informationen über die

Masse eines Partikels, was insbesondere bei komplexeren Partikelformen von

Bedeutung sein kann, kann auch diese mit als Partikeleigenschaft gespeichert

werden. Analog könnte bei Bedarf ein Rotationsparameter integriert werden.

Weitere Merkmale sind durchaus denkbar. So führen die Partikel einiger Systeme

noch ein Attribut Alter, welches die seit dem Geburtszeitpunkt verstrichene Zeit

speichert, mit sich. Dies erspart dem Systemkern die ansonsten bei allen Frames

erforderliche Altersberechnung jedes Partikels, wenn beispielsweise die Farbe

vom Alter der Partikel abhängig ist.

Ähnlich motiviert ist die zusätzliche Speicherung der Position eines Partikels im

vorangehenden Frame. Eine derartige Zusatzinformation ermöglicht eine

einfache Realisierung eines motion blur-Nachleuchteffektes, indem eine schwach

leuchtende Linie zwischen der ehemaligen und der aktuellen Position des

Partikels gezeichnet wird. Auch so werden zusätzliche Berechnungen von

Partikelpositionen vermieden.

Die übrigen Entwicklungen, die ein Partikel während seiner Lebensspanne

durchläuft, werden von den Routinen des Systemkerns festgelegt und bei jedem

Animationsframe für alle aktiven Partikel neu berechnet.

2.2 Systemkern

Der Kern eines Partikelsystems übernimmt die Steuerung aller Partikel, legt

deren Bewegungsabläufe und –regeln fest und definiert physikalische Gesetze

und Barrieren, welche die Partikel in der Animation beeinflussen.

Im Systemkern wird ein zentrales Koordinatensystem für die Partikelanimation

festgelegt. Dieses legt fest, welcher Raum ausgehend vom Koordinatenursprung

(0, 0, 0) für die Animation von Interesse ist, und wo valide Punkte für die

Emission von Partikeln lokalisiert sind. Diese Begrenzung muß nicht unbedingt

mit den Maßen des Rendering-Screens identisch sein.

Der Ablauf aller Berechnungen, welche die Routinen des Systemkerns für die

Darstellung der Partikel eines Frames vorzunehmen haben, lässt sich in fünf

unterschiedliche Phasen unterteilen.

(a)

Während der ersten Phase werden neue Partikel erschaffen. Dabei ist die Anzahl

der neu zu emittierenden Partikel von großer Wichtigkeit, da sie über die Dichte

des zu modellierenden Objekts entscheidet.

Die Berechnung der Anzahl neuer Partikel pro Frame unterliegt stochastischen

Prozessen. Reeves gibt für die Berechnung der Partikelanzahl pro Frame (f) zwei

unterschiedliche Berechnungsmethoden an. Einbezogen werden jeweils die

durchschnittliche Anzahl der Partikel pro Frame (MeanPartsf) sowie ein

Varianzwert (VarPartsf). Hinzu kommt eine Zufallskomponente aus einer

Randomfunktion Rand(), welche eine reelle Zahl zwischen –1.0 und +1.0

darstellt.

Die erste Variante berechnet die Anzahl neuer Partikel (NPartsf) unabhängig von

der Größe des derzeitigen Bildausschnittes:

NPartsf = MeanPartsf + Rand() * VarPartsf

Die zweite Berechnungsvariante wird vom Bildausschnitt in Abhängigkeit

gebracht. So müssen zum Beispiel bei einer Bildschirmgröße, die nur wenige

8


Proseminar Computergrafik - Partikelsysteme

Pixels umfaßt, nicht Tausende von Partikeln emittiert und berechnet werden. Eine

derartige Kalkulationsmethode bietet sich insbesondere bei Partikelsystemen an,

die über eine Zoomfunktion verfügen.

Die Funktion, welche nun die Berechnung der Durchschnittswerte (MeanPartsSA(f))

und Varianzwerte (VarPartsSA(f)) von der Anzahl der Partikel im Bildausschnitt

(ScreenArea) abhängig macht, sieht wie folgt aus:

(b)

NPartsf = (MeanPartsSA(f) + Rand() * VarPartsSA(f)) * ScreenArea

In der zweiten Phase werden die Partikel mit Attributwerten, welche in Kapitel

2.1 vorgestellt wurden, belegt. Die Belegung erfolgt für jedes Partikel individuell.

Dabei können Werte wie die initiale Position andere Parameter wie beispielsweise

die anfängliche Farbe unter Umständen beeinflussen.

Die Beschränkungen für die Initialwerte sind ebenfalls im Systemkern

festgeschrieben, zum Beispiel eine mögliche, grundlegende Orientierung der

Richtungsvektoren.

Die Belegung der anfänglichen Geschwindigkeit der Partikel (InitialSpeed) erfolgt

im Standardmodell nach einer dem obigen Berechnungsverfahren vergleichbaren

Methode; der Durchschnittswert aller Partikelgeschwindigkeiten (MeanSpeed)

wird mit der durchschnittlichen Varianz (VarSpeed), welche mit einer reellen

Zufallszahl der Methode Rand() zwischen –1.0 und +1.0 multipliziert wurde,

aufaddiert:

(c)

InitialSpeed = MeanSpeed + Rand() * VarSpeed

Die dritte Phase nimmt die Entfernung von Partikeln, deren Lebenspanne

abgelaufen ist, aus dem System vor.

(d)

In der vierten Phase werden die im System nach Phase c noch vorhandenen

Partikel entsprechend der gesetzten Attribute bewegt und verändert.

Die Bewegung der Partikel kann sehr unterschiedlichen Regeln unterworfen sein.

Einfache Partikelsysteme halten an dem initial zugewiesenen Richtungs- und

Geschwindigkeitsvektor fest; andere wiederum beziehen physikalische Gesetze

wie Gravitation oder magnetische Anziehung bzw. Abstoßung in die Laufbahn der

Partikel mit ein. Letzteres kann sowohl durch definierte Grenzen, als auch durch

gegenseitige Beeinflussung der Partikel untereinander zustande kommen.

(e)

Nachdem in den ersten vier Phasen alle notwendigen Änderungen an den

Partikeln vorgenommen wurden, werden die Daten nun dem Renderingsystem

zur letztendlichen Darstellung des Animationsframes (frame buffer) übergeben.

Die verschiedenen Möglichkeiten beim Rendering werden in Kapitel 2.4 noch

detaillierter besprochen.

9


Proseminar Computergrafik - Partikelsysteme

Die Einbeziehung physikalischer Gesetze wurde bereits mehrfach erwähnt. Diese

können im Kern des Partikelsystems je nach gewünschtem Anwendungsspektrum

der Animation gewählt und implementiert werden.

Das am häufigsten in Partikelsystemen angewandte physikalische Prinzip ist die

Gravitation, da ihre Implementierung relativ einfach ist und realitätsnahe

Ergebnisse hervorbringt. Beispiele für den Einsatz der Gravitationskonstante sind

die Animationen von Wasserfontänen oder Feuerwerken, bei denen die

Erdanziehung die Partikel nach Abschwächung ihrer Beschleunigung veranlaßt,

sich auf einer bogenähnlichen Bahn wieder der Basisebene anzunähern. Ein

weiteres, gern gewähltes Beispiel für die Einbeziehung der Gravitation ist die

Animation von Feuer: Die Gravitation bestimmt hierbei, wie hoch die vom Feuer

aufsteigende Rauchsäule in Abhängigkeit von der Hitze des Feuers maximal

werden kann.

Als weiteren Manipulator aus der Welt der Physik wurde bereits der Magnetismus

erwähnt. Durch im Systemkern festgelegte magnetische Flächen oder Objekte,

die man als Attraktoren bzw. Deflektoren bezeichnet, können Partikel angezogen

oder abgestoßen werden. Ebenso ist es denkbar, durch den Kern des

Animationssystems eine weitere Form von Deflektoren zu definieren, von denen

die Partikel abprallen und zurückgeschleudert werden. Auch eine derartige

Funktion ist relativ einfach und schnell zu implementieren.

Ebenfalls wurde bereits die Möglichkeit, daß sich Partikel auch gegenseitig

manipulieren können, in Betracht gezogen. Als einleuchtendes

Anwendungsbeispiel kann hierbei die Animation von Wasser angeführt werden.

Aufgrund elektrischer Teilladungen neigen Wassermoleküle - bei ausreichender

Annäherung zweier Moleküle aneinander - zur Vereinigung, welches in größeren

Maßstäben als Tropfenbildung bekannt ist. Auch eine derartige Eigenschaft

müssen Partikelsysteme zur Animation von Wasser zwecks einer

realitätsgenauen Wiedergabe dieses Vorgangs unterstützen und berücksichtigen.

Gegenseitige Manipulationen durch Partikel werden beispielsweise bei der

Realisierung orientierter Partikelsysteme (siehe Kapitel 3.3, 3.4) benötigt.

2.3 Hierarchie

Schon in der ersten Abhandlung über Partikelsysteme erwähnte William T.

Reeves, daß die Animationssysteme hierarchisch gestaffelt werden können.

Konkret bedeutet dies, daß jedes Partikel, welches von einem Ur-Partikelsystem

erzeugt wurde, wiederum ein eigenständiges Partikelsystem mit der Fähigkeit,

selbst Partikel zu erzeugen und auszusenden, sein kann. Eine derartige

Möglichkeit trägt sehr stark zur Realitätsverfeinerung von Partikelsystemen bei,

da es auf diese Art und Weise nicht nur eine einzige Quelle für neue Partikel

geben kann. Dies wird insbesondere deutlich, wenn man sich die Explosion von

Feuerwerkskörpern vorstellt. Diese werden zunächst von einem zentralen Punkt

abgeschossen, spalten sich jedoch später in mehrere unterschiedliche

Teilexplosionen auf.

Eine weitere Einsatzmöglichkeit von hierarchisierten Partikelsystemen ist die

Darstellung kompliziert aufgebauter Objekte. Untergeordnete Partikelsysteme

können unterschiedliche Sektionen mit eventuell verschiedenen Eigenschaften

des Objektes darstellen; das übergeordnete Partikelsystem, welches in diesem

Fall auch als Partikelmanager bezeichnet wird, übernimmt die Steuerung aller

10


Proseminar Computergrafik - Partikelsysteme

Tochtersysteme und gibt äußere Einwirkungen auf das Objekt an die

entsprechend betroffenen Sektionen weiter.

Da ein neu erzeugtes Partikelsystem in Form eines Partikels alle grundsätzlichen

Regeln vom Elternsystem erbt, eignet sich eine rekursive Methode für die

Berechnung der Partikel derartiger Systeme. Auch die Routinen zur initialen

Farb- und Positionsbelegung kann ein untergeordnetes Partikelsystem vom

Elternteil übernehmen. Ähnliches gilt für die Berechnungsmethoden für die

Anzahl neu zu emittierender Partikel.

2.4 Rendering

Sind die Berechnung für die Instanzwerte der Partikel sowie die Bewegung aller

Partikel im System erfolgt, wird der endgültige Animationsframe in den frame

buffer gerendert. Meist müssen spezielle Renderingroutinen für die diversen

Einsatzgebiete von Partikelsystemen entworfen werden, da klassische 3D-

Renderingverfahren wie beispielsweise das Raytracing beim Rendern eines

Objektes mit Tausenden von Partikeln extreme Rechenzeit benötigen würden. Bei

der Berechnung der Animationsframes wird grundsätzlich zwischen Methoden für

selbstleuchtende und reflektierende Partikel unterschieden.

In der ersten Methode, welche bei der Animation von Feuer und Explosionen zum

Einsatz kommt, stellen die Partikel lichtemittierende Punkte im Raum dar. Dabei

gilt es zu beachten, daß ein Pixel auf dem Ausgabebildschirm durchaus von

mehreren Partikeln, die zum Beispiel den gleichen Punkt oder eng benachbarte

Positionen im Raum einnehmen, beeinflußt werden kann. Diesem Umstand

entsprechend werden die Leuchtwerte der Partikel kombiniert, wodurch es häufig

zu sehr hellen Pixels kommen, bei denen die Rot-, Grün- oder Blauwerte maximal

sind.

Diese Art des Rendering hat einen bedeutenden Nachteil. Durch die eigene

Leuchtkraft der Partikel kann es unter Umständen schwierig werden, eine

derartige Partikelanimation in eine eigens beleuchtete, umgebende Szenerie zu

integrieren. Beispielsweise leuchten in einer Feueranimation nicht nur die

Feuerpartikel selbst, sie beleuchten auch die benachbarten Bildregionen.

Bestehen diese aus möglicherweise in herkömmlichen Verfahren erzeugte 3D-

Objekte, bedarf es entweder nicht unerheblichem Aufwand und Rechenzeit oder

der Anwendung trickreicher Methoden (vgl. Kapitel 3.1), um die verschiedenen

Bildtypen in einem einheitlichen Beleuchtungsschema zu kombinieren. Ähnliches

gilt für die Einbeziehung des motion blur-Effektes, der als eine Art Lichtschweif

von Feuerpartikeln hier zur gelungenen Darstellung beiträgt. Man beachte an

dieser Stelle, daß neben der Beleuchtung der zusätzlichen, festen 3D-Objekte

auch der veränderte Schattenwurf zu berücksichtigen ist.

In der zweiten Rendering-Variante wird den Partikeln eine reflektierende Rolle

zugedacht. Diese Variante zeigt weit mehr Übereinstimmungen mit den üblichen

Renderingverfahren, wie sie aus Raytracing-Programmen und deren Verwandten

bekannt sind. Besonders wichtig ist jedoch auch hier die adäquate Kombination

von Reflexionswerten, wenn sich mehrere Partikel auf einen Pixel des zu

rendernden Gesamtbildes beziehen. Lichtreflektierung erfordert das

Vorhandensein einer Lichtquelle, welche ebenfalls in den Renderingroutinen

festgelegt werden kann. Die Integration der Partikelanimation in eine bestehende

Szenerie ist hier einfacher, da beide Teilbilder die gleiche Beleuchtungsquelle

11


Proseminar Computergrafik - Partikelsysteme

nutzen können. Wiederum ist die Beachtung der Probleme des Schattenwurfes

auch hier für eine realitätsnahe Wiedergabe der Szene essentiell.

Abschließend bleibt zum Thema Rendering zu erwähnen, daß auch bei der

Berechnung der Frames von Partikelsystemanimationen meist das weit

verbreitete Verfahren des Antialiasing zum Einsatz kommt, um die

Treppenbildungseffekte bei der Rasterung auf Pixelmaps zu reduzieren.

12


Proseminar Computergrafik - Partikelsysteme

3 Anwendungen

3.1 Der Genesis-Effekt

Der erste Anwendungsfall selbstorganisierender Partikelsysteme ist zugleich der

wohl am besten dokumentierte. William T. Reeves schuf mit der Entwicklung des

Genesis-Effektes im Film ’Star Trek II: The Wrath of Khan’ den Prototypen einer

neuen Form der Objektmodellierung in der Computergrafik.

Der Genesis-Effekt beschreibt das Auftreffen einer Sonde auf einen leblosen

Wüstenplaneten im Weltraum. Vom Einschlagpunkt der Sonde breitet sich eine

Feuerwand (siehe Abbildung 3) aus, die sich nach und nach über den gesamten

Planteten zieht und den ihn schließlich in einen erdähnlichen Lebensraum mit

Wäldern, Ozeanen und schneebedeckten Bergen verwandelt.

Abb. 3: Szene aus dem Film ’Star Trek II: The Wrath of Khan’

Für den Genesis-Effekt wurden zahlreiche der in Kapitel 2 als grundlegend für

Partikelsysteme vorgestellte Konzepte entworfen. Die Animation führte auch

bereits den Begriff der Hierarchie von Partikelsystemen (vgl. Kapitel 2.3) ein, da

im Genesis-Effekt zwei verschiedene Stufen von Partikelsystemen genutzt

wurden. Der Einschlagpunkt der Sonde wurde zum Zentrum des übergeordneten

Systems (top-level system). Das top-level-System emittierte Partikel, die selbst

wiederum Partikelsysteme waren und als untergeordnete Systeme (second-level

systems) charakterisiert wurden.

Die Anordnung der second-level-Systeme wurde vom top-level-System so

gestaltet, daß sie sich auf konzentrischen Ringen – ausgehend vom Zentrum des

top-level-Systems – auf der Oberfläche des Planeten ausbreiteten (siehe

Abbildung 4). Die Anzahl der second-level-Partikelsysteme pro Ring ergab sich

aus einer zuvor festgelegten Dichtekonstante und in Abhängigkeit vom Umfang

des jeweiligen Ringes. Die Position der Systeme auf dem Ring unterlag einem

Zufallsgenerator, wodurch es durchaus zu Überlappungen von Partikelsystemen

kommen konnte, was dem endgültigen Bild jedoch ein einheitliches und somit

wirklichkeitsgetreues Aussehen gab.

13


Proseminar Computergrafik - Partikelsysteme

Abb. 4: Verteilung der top-level und second-level Partikelsysteme auf der Planetenoberfläche

Die eigentlichen Explosionen und Feuerpartikelemissionen gingen nur von den

second-level-Systemen aus. Um Gleichförmigkeiten zu vermeiden, wurden bei

jedem Partikelsystem die initialen Werte der Partikel (Farbe, Geschwindigkeit,

Richtung, Lebenszeit etc.) auf der Grundlage stochastischer Parameter variiert.

Einige Basiseigenschaften waren trotz der notwendigen Variationen allen

Partikeln gemeinsam. Zum einen dominierte bei allen Partikelfarben die rote

Komponente, begleitet durch einen geringeren Einfluß von grün; der Blauwert

war zwar nicht gleich null, aber bei allen Partikeln sehr klein. Diese Eigenschaften

bildeten einen wichtigen Ausgangspunkt für die realitätsnahe Darstellung der

Explosion. Im Bereich der Planetenoberfläche war die Konzentration der Partikel

aufgrund der Nähe zu den Emissionszentren recht hoch. Dies hatte eine

Überlagerung zahlreicher Partikel zur Folge. Man beachte nun die in Kapitel 2.4

vorgestellte Renderingeigenschaft, daß bei Überlappungen von Partikeln deren

Farbwerte für die letztendliche Darstellung aufaddiert werden. In den

Explosionszentren kam durch die Addition der Rot- und Grünwerte eine orange

bis gelbe Farbe der Explosion zustande; bisweilen war sogar eine so massive

Überlagerung von Partikeln möglich, daß selbst die blaue Komponente durch

Addition Bedeutung erlangte, und das entsprechende Pixel den weißen Farbwert

erhielt. Somit wurde die extreme Hitze in den Explosionszentren durch diesen

einfachen Effekt überzeugend realisiert und dargestellt. In den äußeren Regionen

der Explosionsausbreitung, wo die Konzentration der Partikel nicht mehr derart

hoch war, waren die Grün- und Blaukomponenten mehr und mehr zu

vernachlässigen, wodurch wieder die rote Farbe dominierte. Dieser Effekt wurde

zusätzlich durch die Eigenschaft unterstützt, daß die grünen und blauen

Farbkomponenten mit wachsender Lebenszeit eines Partikels zunehmend

schwanden.

Eine zweite Eigenschaft, die allen Partikeln weitgehend gemeinsam war, war die

Orientierung der Richtungsvektoren. Auch wenn die Startposition der

Partikelflugbahn innerhalb eines virtuellen Kegels vom Zentrum des

emittierenden Systems ausgehend zufällig gewählt wurde (vgl. auch Abbildung

5), zeigte ihre Richtung stets nach oben und somit weg von der

Planetenoberfläche, wie es für eine Explosion typisch ist. Um jedoch auch hier

der Monotonie vorzubeugen, fanden die Emissionen und somit die

Teilexplosionen in unterschiedlichen Höhen über der Oberfläche statt.

14


Proseminar Computergrafik - Partikelsysteme

Abb. 5: Orientierung der Geschwindigkeits- und Richtungsvektoren

Das Genesis-Modell zog wie die meisten Partikelsysteme die

Gravitationskomponente mit in die Berechnung der Animation ein. So kommt

auch hier der Effekt zustande, daß die Partikel eine kurvenförmige Flugbahn

absolvieren, da sie nach Abschwächung ihrer Beschleunigung wieder in Richtung

der Planetenoberfläche gezogen werden. Hierbei wurde im Kern des Systems

festgelegt, daß ein Partikel seine Existenz beendet, sobald als seine neue Position

ein Punkt auf oder unter der Oberfläche berechnet würde, selbst wenn seine

zuvor gesetzte Lebensdauer noch nicht abgelaufen war.

Der Renderingprozeß der Genesis-Animation wurde in jeweils drei Stufen

eingeteilt. Zunächst wurden die Partikel gerendert, die sich auf der Rückseite des

Planeten befanden. Anschließend folgte der Planet selbst, und schließlich wurden

die Partikel im Frontbereich berechnet. Die Komposition des Bildes erfolgte

ebenfalls in diesen Schritten mit den drei oben erwähnten Bildebenen. Dieses

Vorgehen wurde notwendig, damit leuchtende Partikel auf der Planetenrückseite

nicht durch die Planetenoberfläche hindurchscheinen.

Das in Kapitel 2.4 beschriebene Problem der Umgebungsbeleuchtung durch

selbstleuchtende Partikel löste Reeves mit Hilfe von Tom Duff, einem weiteren

Mitarbeiter der Computergrafikabteilung von Lucasfilm, indem oberhalb der

Planetenoberfläche und den Explosionszentren mehrere kräftige Lichtquellen

virtuell installiert wurden. Durch diesen Trick war die Beleuchtungsszenerie der

Animation zwar nicht ganz korrekt, man ersparte sich jedoch die Berechnung der

direkten Beleuchtungswirkung jedes einzelnen Partikels auf die

Planetenoberfläche, was wiederum ein enormes Pensum an Rechenleistung beim

Rendering erfordert hätte.

Des weiteren kam beim Rendern der Animation der motion blur-

Lichtschweifeffekt zum Einsatz. Man beachte, daß ein Partikel eine durchgehende

Bewegungskurve durchläuft und nicht nur 24 mal in der Sekunde – die Animation

wurde mit der für Kinofilme typischen Rate von 24 Frames pro Sekunde

gerendert – eine neue Position erhält. Die Position, die das Partikel im

gerenderten Animationsframe letztendlich erhält, ist die, wo es sich während der

Hälfte der für den Frame relevanten Zeit befindet.

Für den motion blur-Effekt wird nun zusätzlich die Partikelposition berechnet, an

der das Partikel zu Beginn der Framelaufzeit zu lokalisieren wäre. Diese beiden

Positionen werden dann mit einer Linie, die ein Antialiasing-Verfahren durchläuft,

verbunden. Reeves erwähnt an dieser Stelle, daß für eine absolut korrekte

Darstellung des motion blurring auch die Bewegung der Filmkamera Einfluß auf

den Lichtschweif nehmen müsste. 1982 deklarierte er diese zusätzliche

Berechnung als „Gebiet für zukünftige Forschung“ [11].

15


Proseminar Computergrafik - Partikelsysteme

Der Genesis-Effekt war das erste Beispiel für ein komplett selbstorganisierendes

Partikelsystem. Die oben beschriebenen Funktionen und Berechnungen zeigen

jedoch, daß häufig ein weiter Weg durch die Implementierung eines derartigen

Systems zurückgelegt werden muß. Gleichzeitig wird die enorme Rechenleistung

ersichtlich, welche für die Berechnung einer Partikelanimation vonnöten ist. Die

Genesis-Animation, welche nur wenige Sekunden dauerte, umfaßt in einigen

Frames mehr als 750.000 Partikel in über 400 eigenständigen Partikelsystemen.

Es ist leicht vorstellbar, daß derartige Animationen für die Computer der frühen

1980er Jahre eine große Herausforderung darstellten. Heute, da die

Rechenleistung der Computer exponentiell gestiegen ist, sind Partikelsysteme

bereits auf Heimcomputern relativ problemlos realisierbar.

3.2 Pflanzendarstellung

Wiederum war es ein Film, der eine neue und völlig andere Stufe in der

Entwicklung von Partikelsystemen auslöste. Für den kurzen, rein

computeranimierten Film ’The Adventures of André and Wally B.’ arbeitete das

Team der Lucasfilm mit der Animationsfirma Pixar zusammen. Die Waldszenen

für diesen Kurzfilm, der noch heute auf den Internetseiten von Pixar betrachtet

werden kann, erschuf Genesis-Entwickler William T. Reeves in Zusammenarbeit

mit seinem Kollegen Ricki Blau, indem er zur Darstellung der Bäume, Gräser und

anderer Pflanzen eine vollkommen neue Variation von Partikelsystemen kreierte.

Abb. 6: Titelbild zu dem Kurzfilm ’The Adventures of André and Wally B.’

Der Ansatz von Reeves und Blau ähnelt stark den bereits durch Lindenmayer

(1968) und Smith (1984) entwickelten Ansätzen zur Darstellung von Pflanzen,

die als grammatikbasierte L-Systeme bekannt wurden. In L-Systemen werden

Äste und Blätter von Pflanzen meist in Form von Buchstaben eines Alphabetes

angegeben. Zusätzlich erhalten diese Alphabete bestimmte Produktionssymbole,

die beispielsweise das Abzweigen eines neuen Astes, dessen Ausrichtung und

ähnliches bestimmen (siehe hierzu auch die in diesem Proseminar entstandene

spezielle Ausarbeitung zum Thema L-Systeme von Florian Breier).

Reeves und Blau haben in ihrer Arbeit diese Ansätze der L-Systeme in das

bestehende Konzept der Partikelsysteme integriert. Die Partikel sind hier nicht

16


Proseminar Computergrafik - Partikelsysteme

länger einfache Punkte im Raum, sie stellen die Äste und Blätter der zu

generierenden Pflanze dar. Damit sind sie mit den Buchstaben in den Alphabeten

der grammatikbasierten Produktionssysteme zu vergleichen. Die Basiskonzepte

von Partikelemission bzw. –geburt, -transformation und –tod bleiben in diesem

Modell ebenfalls in gewisser Weise erhalten. Diese Eigenschaften lassen sich mit

den für L-Systeme geltenden Produktionsregeln gleichsetzen.

Der Ansatz von Reeves und Blau platziert die Partikel, sprich die Äste, Zweige

oder auch Blätter, entlang des Stammes der Pflanze bzw. des Baumes. Wie

bereits bei den ursprünglichen Partikelsystemen gesehen, wird auch hier eine

realitätsgetreue Darstellung erst durch den Einfluß einer Zufallskomponente

erreicht, welche auf die Verteilung der Äste und Blätter einwirkt. Wiederum sind

hier diverse Beschränkungen möglich, die im Systemkern festzulegen sind.

Hierzu könnte beispielsweise die Regel gehören, daß die Dichte von Ästen im

unteren Bereich des Stammes geringer ist als in mittleren oder oberen Regionen.

Ebenso wie die Anordnung unterliegt das Verzweigen der Äste einer Kombination

aus Wahrscheinlichkeitskomponenten und zufälligen Zahlen. Gleiches gilt für die

Länge bzw. Größe der Äste, Zweige und Blätter sowie deren Abzweigungswinkel

vom Hauptstamm oder dem Eltern-Ast. Allerdings werden auch an dieser Stelle

einige Einschränkungen notwendig, da immer die Länge bzw. der Umfang des

Elternelementes sowie die Position der aktuellen Komponente berücksichtigt

werden muß. Als weitere Option, die sich auf das Wachstum einer Pflanze

auswirkt, wäre es denkbar, den Lichteinfall auf die unterschiedlichen Regionen

der Pflanze mit einzubeziehen.

Das Rendering der durch Partikelsysteme erstellten Pflanzen wird als durchaus

schwierig charakterisiert. Besonders in Szenen mit dichter Vegetation wie den

Waldszenen aus ’The Adventures of André and Wally B.’ muß eine Vielzahl von

Überlagerungen und Schattierungen in die fertige Animationsszene mit

einfließen. Eine weitere Schwierigkeit stellt die Beleuchtung der inneren

Sektionen eines Baumes dar, wobei intensive Berechnungen der Dichte der

oberhalb des zu beleuchtenden Punktes gelegenen Baum- oder Pflanzenstruktur

notwendig werden. Um die Verdeckungen der einzelnen Bäume und Pflanzen

möglichst realistisch und korrekt darzustellen, muß bei einem derartigen Modell

ebenfalls eine Rendering-Methode gewählt werden, welche die Objekte von

hinten nach vorne bezüglich des Blickwinkels berechnet und im Frame anordnet.

Der Ansatz von Reeves und Blau ist eine interessante Variation im Einsatz von

Partikelsystemen. Pflanzendarstellung blieb jedoch eine Nischenanwendung im

Bereich dieser Modellierungstechnik, da die bereits genannten L-Systeme häufig

einfacher zu realisieren sind. Die Darstellung dieser Variante macht jedoch

einmal mehr die Mächtigkeit von Partikelsystemen deutlich, obschon sie

gleichzeitig den erheblichen Aufwand bei Implementierung und Rendering

derartiger Animationen aufzeigt.

17


Proseminar Computergrafik - Partikelsysteme

3.3 Schwarmanimationen

Auch wenn das ursprüngliche Partikelmodell nach Reeves Interaktionen zwischen

Partikeln nicht grundsätzlich ausschließt, kamen gegenseitige Beeinflussungen

sowohl beim Genesis-Effekt als auch bei der Variation zur Pflanzendarstellung

nicht zum Einsatz. Diese Interaktionen werden jedoch notwendig, wenn

Partikelsysteme zur möglichst naturgetreuen Simulation von Tierschwärmen-

oder –herden benutzt werden sollen.

Craig W. Reynolds entwickelte 1987 das boid-Modell (boid: kurz für bird-object,

deutsch: Vogel-Objekt), in welchem er einen interagierenden Schwarm von

Vögeln darstellte. Die boids bildeten dabei die Partikel des Systems, die unter

den Gesichtspunkten der sogenannten „behavioral animation“ (deutsch:

verhaltensorientierte Animation) [12] bewegt wurden.

Es hatte bereits zuvor Ansätze in der Computergrafik gegeben, welche eine

derartige Darstellung solch natürlicher Phänomene zu erreichen versuchten.

Solche Versuche, wie es sie beispielsweise in der Demonstrationsanimation

’Eurythmy’ der Computer Graphics Research Group of Ohio State University gab,

arbeiteten mit virtuellen Kraftfeldern (force fields), die den Weg der Vögel in der

Animation bestimmten und auch Kollisionen mehrerer Vögel vermieden (rejection

forces).

Reynolds übertrug dagegen den Ansatz der Partikelsysteme auf die Animation

der Vogelschwärme. Die von Reeves zur Genesis-Explosion eingesetzten,

lichtemittierenden Punkte im Raum werden durch die boids ersetzt. Dieses

komplexere Modell bringt einige gravierende Änderungen mit sich, da die

geometrischen, dreidimensionalen boids zusätzliche eine Orientierung im Raum

besitzen, wodurch bei derartigen Veränderungen der Basisidee allgemein auch

von orientierten Partikelsystemen gesprochen wird. Entsprechend dieser

Eigenschaft wird in einer solchen Animation für jedes boid ein lokales

Koordinatensystem benötigt, zwei speziell zu implementierende mathematische

Funktionen übernehmen die Lokalisierung bzw. die Generalisierung von

Koordinatenangaben.

Grundsätzlich erhalten die einzelnen boids in einer Vogelschwarmanimation

ebenso Attribute wie die Punktpartikel im Genesis-Modell. Bei den Vögeln

entfallen jedoch Neuemission und Tod von Partikeln, da die Anzahl der boids

während der Animation gleichbleibend ist. Analog entfallen Transparenz sowie

Veränderungen in der Farbe und Größe. Ausschlaggebend für die

Bewegungsbahn aller boids ist auch hier ein zentraler Richtungs- und

Geschwindigkeitsvektor, der unter Verwendung einer Zufallskomponente

initialisiert wird und während der Animationslaufzeit stets Veränderungen

unterliegt.

Die Veränderungen der Fluggeschwindigkeit und –richtung darf in Animationen,

deren Ziel eine naturgetreue Nachbildung des Verhaltens von Schwarmtieren ist,

nicht allein dem Zufall überlassen werden. Zufällig errechnete

Abweichungsfaktoren finden hier lediglich minimale Verwendung und

repräsentieren die Individualität jedes boids. Für die Animation im Großen ist

allerdings das Verhalten der boids im kollektiven Schwarm ausschlaggebend.

Hierzu gibt es bestimmte grundlegende Beschränkungen, denen sich die boids

anpassen müssen, und die vom Systemkern des Partikelsystems für jedes boid

explizit zu berechnen sind.

18


Proseminar Computergrafik - Partikelsysteme

Zunächst erhält jedes boid eine Umfeldregion, in der es die Bewegungen der

benachbarten boids wahrnehmen kann. Diese Region (die sogenannte ’boid’s

neighborhood’ oder ’region of interest’) wird mit Hilfe einer

Wahrnehmungsdistanz d und einem Winkel α festgelegt. Abbildung 7 zeigt ein

vereinfachtes, zweidimensionales Schema für eine solches boid-Umfeld.

Abb. 7: Wahrnehmungsregion eines boid-Partikels

Während alle Partikel, die außerhalb dieser region of interest liegen, bei der

Kalkulation des boid-Verhaltens ignoriert werden, wirken sich Positionen und

Verhalten von boids innerhalb der Wahrnehmungszone direkt auf die

Partikelflugbahn aus. Diese Einflüsse lassen sich in drei Gruppen (separation,

cohesion, alignment) unterteilen.

Als erster Aspekt ist die Kollisionsvermeidung zu nennen. Konkret bedeutet dies,

daß bei der Errechnung einer neuen boid-Position die bereits von anderen boids

belegten Raumpunkte entfallen (separation). Bei zu starker Annäherung an ein

anderes boid-Partikel wird zudem der Kurs des Objekts dahingehend verändert,

daß es sich wieder mehr von dem anderen Schwarmmitglied entfernt (rejection,

siehe Abbildung 8).

Abb. 8: Kollisionsvermeidung zwischen boids (separation, rejection)

Der zweite zu beachtende Punkt bewegt sich entgegengesetzt zur beschriebenen

Kollisionsvermeidung. Instinktives Ziel von Vögeln ist es, sich im Zentrum des

Vogelschwarmes aufzuhalten. Als Zentrum des Schwarms ist an dieser Stelle das

Zentrum des vom jeweiligen boid in seiner region of interest wahrgenommenen

Schwarms anzusehen (Abbildung 9). Dieser Aspekt verhindert ein zu starkes

Auseinanderdriften des Schwarmes (cohesion).

19


Proseminar Computergrafik - Partikelsysteme

Abb. 9: Zusammenhalt des Schwarmes (cohesion)

Die dritte Beschränkung betrifft die Richtung der boid-Bewegung. Die

elementarste Eigenschaft eines Schwarmes ist das Verfolgen einer weitgehend

einheitlichen Richtung. Dementsprechend passen sich die boid-Partikel der

durchschnittlichen Richtung der in ihrer Wahrnehmungszone gelegenen boids an

(alignment, siehe Abbildung 10). Auf diese Art und Weise erreicht man in der

Animation auch die typische Verfolgung des gerade an vorderster Stelle

fliegenden Schwarmmitgliedes.

Abb. 10: Verfolgen der durchschnittlichen boid-Richtung (alignment)

Zusätzlich zur Vorwärtsbewegung in der jeweiligen Flugrichtung kommen bei

Vogelschwarmanimationen mit Partikelsystemen Eigenbewegungen der boids,

z.B. der Flügelschlag oder Drehungen um die lokale x- und y-Achse, zum Einsatz.

Derartige Bewegungen werden für jedes boid separat gesteuert, wobei durch die

unterschiedlichen und individuellen Bewegungen der naturrealistische Eindruck

noch verstärkt wird.

Für die Implementierung eines derartigen Partikelsystems ist eine

objektorientierte Lösung die einzige Alternative. Die boids sind dabei Instanzen

der boid- oder Partikelklasse, sind in sich gekapselt und bieten nach außen nur

die notwendigen Schnittstellen. Eine oder mehrere Verwaltungsklassen

übernehmen die globale Steuerung als Systemkern mit den in Kapitel 2.2

vorgestellten möglichen Bewegungseinschränkungen.

Boid-Partikelsysteme finden seit ihrer Einführung 1987 ebenfalls Anwendung in

Animations- und Featurefilmen. Die Arbeit von Reynolds kam erstmals – unter

Mithilfe der Computergrafikfirmen Symbolic Graphics Division und Whitney /

Demos Production – in der Computeranimation ’Stanley and Stella in: Breaking

the Ice’, der die Abbildung 11 entnommen ist, zum Einsatz. Als Beispiel für die

Präsenz auf der Kinoleinwand ist der Film ’Batman Returns’ anzugeben, für den

Simulationen von Fledermausschwärmen sowie eine Schar von Pinguinen mit

einer veränderten Version von Reynolds Originalsoftware erschaffen wurden.

20


Proseminar Computergrafik - Partikelsysteme

Abb. 11: Szene aus dem Animationsfilm ’Stanley and Stella in: Breaking the Ice’

3.4 Orientierte Partikelsysteme

Ein im Vergleich zu den bisher beschriebenen Modellen neuerer Ansatz ist das

Modell der orientierten Partikelsysteme. Hierbei wird ein Aspekt aufgegriffen, der

bei den bisherigen Animationstypen (Feuer, Explosionen, Pflanzenrepräsentation,

Schwärme etc.) nicht benötigt wurde, jedoch bereits im Titel von Reeves’ erster

Abhandlung zu Partikelsystemen ’Particle Systems – A Technique for Modeling a

Class of Fuzzy Objects’ (Partikelsysteme – Eine Technik zur Modellierung weicher

Objekte) zu erkennen ist.

Es geht um die Modellierung weicher Objekte, wie zum Beispiel einem Schwamm

oder einem Objekt aus weichem Gummi, welches durch Druck oder andere

äußere Einflüsse deformierbar ist. In orientierten Partikelsystemen haben die

einzelnen Partikel in ihrem Verhalten Auswirkungen aufeinander, wie es bereits in

Kapitel 3.3 als Interaktion zwischen boids beschrieben wurde. Hierbei stammt

jedoch das physikalische Prinzip, welches dem Aufbau solcher Systeme zugrunde

liegt, aus der Molekulardynamik und besagt, daß Moleküle über eine

„langreichweitige Anziehung und kurzreichweitige Abstoßung“ [7] verfügen.

Diese Eigenschaft wird nun für die Modellierung weicher Objekte verwendet. Die

Verwandtschaft zu den normalerweise im 3D-Objektdesign verwendeten

Drahtgittermodellen ist wesentlich stärker zu erkennen. Die Oberfläche eines zu

modellierenden Objektes, welches als Drahtgittermodell vorliegen kann, wird in

kleine Oberflächenelemente (engl. surface element, kurz: surfel) unterteilt,

welche die Partikel darstellen. Den Partikeln wird eine Lageorientierung innerhalb

des Objektes zugeordnet, die mit den benachbarten Partikeln und den

zugrundeliegenden Gesetzen der Anziehung und Abstoßung abzustimmen ist.

Eine Ausdehnung dieses Ansatzes auf das gesamte Volumen des Körpers ist

analog vorzunehmen.

Die Deformation derartig modellierter Objekte kann nun stattfinden, da zwischen

den Partikeln – anders als bei den klassisch erzeugten Körpern aus

Drahtgittermodellen – keine festen Verbindungen bestehen. So können zum

Beispiel Druck und Zug von außen auf die Partikelstruktur einwirken, die

Anziehungs- und Abstoßungskräfte zwischen den Partikeln beeinflussen und

somit die Deformation eines Objektes sichtbar machen.

21


Proseminar Computergrafik - Partikelsysteme

Orientierte Partikelsysteme erlauben ebenso das Verschmelzen zweier Körper,

wenn sie sich weit genug aneinander annähern, so daß die Anziehungskräfte

zwischen den Partikeln der beiden Objekte groß genug werden, um eine

Verschmelzung vorzunehmen. Analog funktioniert in der umgekehrten Richtung

die Teilung eines Objekts in zwei Körper, wenn die auf den modellierten Körper

ausgeübte Manipulation die Abstände so vergrößert, daß die Anziehung zwischen

den Partikeln für einen Zusammenhalt nicht länger ausreichend ist (vgl.

Abbildung 12).

Abb. 12: Beispiel für die Teilung einer Partikeloberfläche in orientierten Systemen

Der Rechenaufwand, der zur Kalkulation aller Kräfte und Beeinflussungen in

einem orientierten Partikelsystem benötigt wird, ist um einiges höher als bei den

klassischen Partikelsystemen nach dem Reeves-Modell. Dennoch sind die

Ergebnisse, die dank dieser Systeme erzielt werden, häufig ihre Mühe wert. So

finden orientierte Partikelsysteme neben ihrem prädestinierten Einsatzgebiet in

der Physik und Molekulardynamik auch Anwendung in der Medizin, in der mit

Hilfe von Deformationssystemen Operationen simuliert werden können. Dies

wurde zum Beispiel im Karlsruher Endoskopie-Trainer, der vom Institut für

angewandte Informatik in Karlsruhe entwickelt wurde, realisiert. Dieser erlaubt

Ärzten „grundlegende chirurgische Interaktion“ [7] und leistet somit Hilfe beim

Sammeln chirurgischer Erfahrung.

3.5 Weitere Einsatzgebiete

Wie am Beispiel des Karlsruher Endoskopie-Trainers deutlich wird, kann das

Anwendungsspektrum der Partikelsysteme sehr weit sein. Schulungs- und

Simulationsfunktionen können Partikelsysteme auch in der Physik oder der

Chemie aufweisen, wenn beispielsweise eine reale Versuchsreihe zu aufwendig

respektive zu gefährlich ist, insofern die ebenfalls nicht zu unterschätzende

Implementierungsarbeit an einem Partikelsystem gerechtfertigt ist.

Um die Breite der Einsatzmöglichkeiten zu verdeutlichen, sei als weiteres Beispiel

die Arbeit des österreichischen Diplomanden Arnold Faller genannt, der

Partikelsysteme zur Darstellung des Individualverkehraufkommens in der

Großstadt Wien nutzte [2].

Die vorherrschende Domäne der Partikelsysteme bleibt jedoch die

computergrafisch orientierte Modellierung dreidimensionaler Objekte. Dank der

gewachsenen Rechenleistung heutiger Computer finden einfache Partikelsysteme

vermehrt Einzug in Computerspiele, um dort Explosionen, Brände und

22


Proseminar Computergrafik - Partikelsysteme

Unterwasserszenen zu realisieren. Ebenso enthalten viele Animations- und 3D-

Modellierungsprogramme aus dem semiprofessionellen und professionellen

Bereich, wie beispielsweise Cinema4D, Monzoom, Lightwave 3D oder gar

Macromedia Director in der aktuellen Version, bereits grundlegend vordefinierte

Partikelsysteme, die vom Benutzer schließlich entsprechend des

Anwendungszwecks modifiziert werden können. Solch einer Software, dem

Programm CyberMotion 3D-Designer, entstammt auch das untenstehende

Beispiel einer abbrennenden Wunderkerze, welches mit sternförmigen, in der

Größe variablen Partikeln arbeitet.

Abb. 13: Animation einer Wunderkerze mit dem Programm CyberMotion 3D-Designer

Nicht zuletzt herrschen Partikelsysteme weiterhin in der Ausstattung vieler

Kinofilme mit digitalen Computereffekten vor. Als sehr prägnantes Beispiel sei an

dieser Stelle der Film ’The mummy’ (deutsch: ’Die Mumie’, Universal Pictures,

1999) zu nennen. Der ebenfalls von Industrial Light and Magic mit Digitaleffekten

versorgte Film enthält Partikelsysteme zur Darstellung von Sandstürmen sowie

zur Animation von Tierschwärmen, in diesem Fall sowohl Skarabäen als auch

Fliegen.

23


Proseminar Computergrafik - Partikelsysteme

4 Fazit

4.1 Vor- und Nachteile

Die Ausführungen über die Funktionen von Partikelsystemen haben gezeigt, daß

die Mächtigkeit sowie die erreichbare Komplexität und Realitätstreue bei der

Anwendung dieser Animationsform absolut unbestritten ist.

Partikelsysteme haben zahlreiche Eigenschaften, die ihre Handhabung und ihre

hervorragende Simulationseignung herausstellen. Hierzu gehören insbesondere

die Selbstorganisation, die Flexibilität, die Möglichkeit der Hierarchisierung und

die damit einhergehende rekursive Struktur, die Volumentreue bei Deformation

sowie der Einfluß von Zufallskomponenten. Somit bilden Partikelsysteme die

einzig echte Möglichkeit zur Darstellung der von Reeves so bezeichneten fuzzy

objects.

Die ausführlichen physikalischen Berechnungen und der Aufwand, alle diese

Berechnungen für Tausende von Partikeln individuell zu wiederholen, zeigt jedoch

bereits einen Nachteil der Modellierungsform auf. Partikelsysteme sind, wenn sie

realitätsnah arbeiten sollen, extrem rechenintensiv. Dieses Problem wird zwar

durch die immer mehr wachsende Rechenleistung heutiger Prozessoren

weitgehend entschärft, jedoch zeigt die Erfahrung, daß mit wachsender

Rechenleistung auch die Ansprüche an die Animationen steigen.

Als weiterer Nachteil ist der oft hohe Aufwand bei der Implementierung von

Partikelsystemen zu nennen. Da die Systeme in derart unterschiedlichen

Einsatzgebieten vorkommen können, ist häufig für jede Anwendung eine

weitgehend neue, explizite Programmierung notwendig. Die Beispiele der beiden

Reeves-Modelle haben überdies gezeigt, daß meist gar eigene Renderingroutinen

für die Berechnung der letztendlichen Animation geschrieben werden müssen.

Kann jedoch auf eine absolut realitätsgetreue Abbildung natürlicher Verhältnisse

verzichtet werden, so lässt sich auch mit Hilfe von Partikelsystemen bereits mit

relativ geringem Aufwand ein überzeugendes Ergebnis erzielen. Als Beispiel sei

hier eine kurzes Java-Applet genannt, welches eine vereinfachte Feueranimation

realisiert (Abbildung 9).

Abb. 14: Bild aus einem Java-Applet zur Feueranimation

24


Proseminar Computergrafik - Partikelsysteme

4.2 Ausblick

Bereits heute ist der Einsatz von Partikelsystemen aus dem Bereich der

Computergrafik nicht mehr wegzudenken. Die Dichte ihres Vorkommens in

zahlreichen Computerspielen sowie in Form von Digitaleffekten in Kinofilmen wird

sich in Zukunft sicherlich noch erhöhen. Hierbei wird die weiterhin steigende

Rechenleistung der Prozessoren einen entscheidenden Anteil haben.

Derzeit ist die Modellierung und Animation durch Partikelsysteme die beste

Alternative zur Modellierung von Objekten ohne feste Oberfläche und wird dies in

absehbarer Zukunft vermutlich auch bleiben. Variationen des Modells sowie die

Ausdehnung des Konzeptes auf neue und bisher in dieser Form ungenutzte

Bereiche wird es mit Sicherheit auch zukünftig noch geben.

25


Proseminar Computergrafik - Partikelsysteme

Quellenangaben – Literatur

[1]

Desbrun, M. and Gasceul, M. P.: Smoothed Particles: A new paradigm for

animating highly deformable bodies

http://www-grail.usc.edu/pubs/DC_EW96.pdf

[2]

Faller, Arnold: Visulaisierungsansätze für Stadtrhythmen

http://www.iemar.tuwien.ac.at/stadtrhythmen/

[3]

Figueiredo, Luiz H. de et. al.: Phsically-Based Methodes for Polygonization of

Implicit Surfaces

http://graphicsinterface.org/pre1996/92-deFigueiredo.ps.gz

[4]

Foley, van Dam, Feiner, Hughes: Computer Graphics, Principles and Practice, 2nd

Edition in C; Addison-Wesley, 1995

[5]

Gottwald, Sven: Modellierung von Feuer, Gras, Wolken u.a. mit Hilfe von

Partikelsystemen, Proseminar Grundlagen der Computergrafik, Universität

Tübingen

http://www.carotism.de

[6]

Klein, P. und Preussler, E.: Animation von Rauch und Flüssigkeit

http://www.informatik.uni-frankfurt.de/~erps/animation

[7]

Kullmann, Siegfried: Deformation dreidimensionaler Netzmodelle

http://wwwipr.ira.uka.de/~megi/SEMINAR/SS_01/Deformation.pdf

[8]

Martin, Allen: Particle Systems

http://cs.wpi.edu/~matt/courses/cs563/talks/psys.html

[9]

Möller, Thorsten: Modelling

http://www.cs.sfu.ca/~torsten/Teaching/Cmpt461/LectureNotes/PDF/

05-4_modelling.pdf

[10]

Owen, G. Scott: Particle Systems

http://www.siggraph.org/education/materials/HyperGraph/animation/

particle.htm

[11]

Reeves, William T.: Particle Systems - A Technique for Modelling a Class of Fuzzy

Objects;

from ACM Transactions on Graphics, Vol.2, No. 2, April 1983, pages 91-108

http://bubblegum.parsons.edu/~oneill/doc/archive/Reeves_1983.pdf

26


Proseminar Computergrafik - Partikelsysteme

[12]

Reynolds, Craig W.: Boids – Background and Update

http://www.red3d.com/cwr/boids

[13]

Reynolds, Craig W.: Flocks, Herds and Schools: A Distributed Behavioral Model;

from ACM Siggraph ’87 Conference Proceedings, Anaheim, California, July 1987

http://www.cs.toronto.edu/~dt/siggraph97-course/cwr87

[14]

Rosiuta, Alexander A.: Spezialeffekte

http://wwwvis.informatik.uni-stuttgart.de/cgi-bin/print/ger/teaching/lecture/

ss01/seminar_spiele/V9-Ausarbeitung.pdf

http://wwwvis.informatik.uni-stuttgart.de/cgi-bin/blind/eng/teaching/lecture/

ss01/seminar_spiele/V9-folien.ppt

[15]

Schraegle, Gregor: Realitätsgetreue 3D - Modellierung

http]://sunknoll1.informatik.tumuenchen.de/lehre/seminare/ps_ws9798/ausarb/ps_ws9798_06

[16]

Zachow, Stefan: Partikelsysteme

http://www.thf-berlin.de/~stevie/mod+sim/node43.html

27


Proseminar Computergrafik - Partikelsysteme

Quellenangaben – Abbildungen

Abb. 1, Abb. 3:

Screenshots aus ’Star Trek II: The Wrath of Khan’, © Paramount Pictures, 1982

Abb. 2:

Frame aus der Animation ’Explode’, von Reinhard Epp

http://www.3d-designer.com/de/galery/galery.htm

Abb. 4:

Entnommen aus [11]

Abb. 5:

Entnommen aus [4], bearbeitet hinsichtlich deutscher Annotationen

Abb. 6:

Titelbild zu ’The Adventures of André and Wally B.’, © Lucasfilm / Pixar, 1984

Abb. 7:

Entnommen aus [12], bearbeitet hinsichtlich deutscher Annotationen

Abb. 8 - 10:

Entnommen aus [12]

Abb. 11:

Frame aus ’Stanley and Stella: Breaking the Ice’, © Symbolics, 1987

Entnommen aus [12]

Abb. 12:

Entnommen aus [7]

Abb. 13:

Beispielanimation ’Sparkles’ aus CyberMotion 3D-Designer Version 7.0, Reinhard

Epp Software, 1995-2002

Abb. 14:

Frame aus der Java-Applet Animation ’Fire’, Marco Grubert, 1999

http://user.cs.tu-berlin.de/~grubertm/files/fire.html

28

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!