DE19654809A1 - System und Verfahren zum Erzeugen von Haar mit einem Computergrafiksystem - Google Patents
System und Verfahren zum Erzeugen von Haar mit einem ComputergrafiksystemInfo
- Publication number
- DE19654809A1 DE19654809A1 DE19654809A DE19654809A DE19654809A1 DE 19654809 A1 DE19654809 A1 DE 19654809A1 DE 19654809 A DE19654809 A DE 19654809A DE 19654809 A DE19654809 A DE 19654809A DE 19654809 A1 DE19654809 A1 DE 19654809A1
- Authority
- DE
- Germany
- Prior art keywords
- hair
- segment
- segments
- particle
- particles
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 210000004209 hair Anatomy 0.000 title claims description 174
- 238000000034 method Methods 0.000 title claims description 31
- 239000002245 particle Substances 0.000 claims description 82
- 238000007493 shaping process Methods 0.000 claims description 2
- 238000004088 simulation Methods 0.000 description 20
- 238000013461 design Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 208000026097 Factitious disease Diseases 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000003648 hair appearance Effects 0.000 description 3
- 230000003796 beauty Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000000779 smoke Substances 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 101100379080 Emericella variicolor andB gene Proteins 0.000 description 1
- 241000220317 Rosa Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000000149 argon plasma sintering Methods 0.000 description 1
- 210000001217 buttock Anatomy 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 210000003608 fece Anatomy 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 239000010871 livestock manure Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Generation (AREA)
Description
Die Erfindung betrifft allgemein ein System und ein
Verfahren zum Erzeugen und zur optischen Darstellung von Com
puterbildern von Haar, und insbesondere ein System und ein
Verfahren zur Simulation der Bewegung und des Aussehens von
Haar durch Normieren der Bahnen mehrerer von einer Oberfläche
emittierter Teilchen über die Zeit.
Die Computergrafik hat sich während des letzten Jahr
zehnts einschneidend verbessert. Der "Erfolg" einer visuellen
Simulation hängt von vielen Faktoren ab. Ein Faktor, der bei
der Computergrafik oft hervorgehoben wird, ist der "Realismus".
Um den Realismus zu verbessern, verwendet man physikalische
Modelle, um Naturerscheinungen (z. B. Rauch, Wolken, Gras und
Haar) am Computer zu simulieren. Die Simulation von Naturer
scheinungen ist um Größenordnungen schwieriger als die Simu
lation herkömmlicher geometrischer Objekte (z. B. eines
Hauses). Besonders Haar (oder Fell) wirft die verschiedensten
Probleme auf. Haar ist äußerst fein, und die Komplexität sowie
der Zeitaufwand für die Simulation und optische Darstellung
von Haar sind in modernen Grafiksystemen unerschwinglich. Im
allgemeinen geht man einen Kompromiß zwischen Rechengeschwin
digkeit und visuellem Realismus ein. Bis heute hat die Anima
tion von Haar nur minimale Aufmerksamkeit in der Grafik-Ge
meinschaft erfahren.
Es sind Versuche unternommen worden, Szenen mit sehr
komplexen Bildern zu modellieren. Eine Methode besteht darin,
das Problem mittels Durchrechnen mit roher Gewalt anzugehen.
In einer sehr frühen Arbeit von Csuri u. a., "Towards an In
teractive High Visual Complexity Animation System" (Auf dem
Wege zu einem interaktiven Animationssystem von hoher visuel
ler Komplexität), Computer Graphics 13(2) (1979) 289-299,
wurde die Erzeugung von Bildern von Rauch und Fell mit Tausen
den von Polygonen diskutiert. Das Modellieren von Haar mit Po
lygonen ist jedoch rechnerisch aufwendig und führt zu schweren
Aliasing-Artefakten. Ferner ist Haar in Forschungsarbeiten mo
delliert worden, indem entweder jedes Haar einzeln oder die
Haare als kompakte Textur modelliert wurden. Das letztere Ver
fahren ist zum Modellieren kurzen, fellartigen Haars brauch
bar. Perlin und Hoffert, "Hypertexture", ACM Computer Gra
phics, SIGGRAPH ′89, 23(3) (Juli 1989) 253-262, machten zur
Darstellung von Fell eine kompakte Textur bzw. Struktur direkt
dreidimensional sichtbar. Kajiya und Kay, "Rendering Fur with
Three Dimensional Textures" (Gestaltung von Fell mit dreidi
mensionalen Texturen) ACM Computer Graphics, SIGGRAPH ′90,
24(4) (August 1990) 49-57 modellierten andererseits Fell als
eine Verteilung von Mikrofacetten und leiteten ein Beleuch
tungsmodell aus dieser Verteilung ab. Die Ergebnisse dieser
Verfahren sind zwar beeindruckend, aber zu teuer für prakti
sche Anwendungen.
Explizite Haarmodelle zerfallen in zwei Kategorien. Das
Haar wird entweder als undurchsichtiger Zylinder oder als
durchscheinendes Segment modelliert. Das explizite Zylindermo
dell wurde von Anjyo u. a., "A Simple Model for Extracting the
Natural Beauty of Hair" (Ein einfaches Modell zum Ableiten der
natürlichen Schönheit von Haar), ACM Computer Graphics, SIG-
GRAPH ′92, 26 (Juli 1992) 111-120, zur Gestaltung von undurch
sichtigem, dickem Haar verwendet. Das Modell arbeitet gut bei
der Darstellung von dunklem Haar, kann aber beispielsweise
nicht den durchscheinenden Charakter von blondem Haar sichtbar
machen. Das letztere Problem ist mit Hilfe von Tiefen- bzw.
Dickenpuffern durch LeBlanc u. a., "Rendering Hair using Pixel
Blending and Shadow Buffers" (Gestaltung von Haar mittels Pi
xelmischung und Schattenpuffern), The Journal of Visualization
and Computer Animation 2 (1991) 92-97, und durch Rosenblum u.
a., "Simulating the Structure and Dynamics of Human Hair:
Modeling, Rendering and Animation" (Simulation der Struktur
und Dynamik von menschlichem Haar: Modellieren, Gestaltung und
Animation), The Journal of Visualization and Computer Anima
tion 2 (1991) 141-148, gelöst worden. Durch Kombination der
verschiedenen Dickenpuffer wurden verschiedenartige Abschat
tungseffekte erzielt. Dieses letztere Verfahren ist jedoch an
fällig für Aliasing, wenn die Anzahl der Haare sehr groß ist.
Das Aliasing läßt sich vermeiden, indem entweder die Proben
gestört oder benachbarte Werte gefiltert werden, was auf Ko
sten von Detailverlusten und einer längeren Rechenzeit geht.
Die erfolgreichsten Versuche zur Gestaltung hochkomple
xer Bilder sind diejenigen, die auf Teilchensystemen basieren
(Reeves, "Particle Systems. A Technique for Modeling a Class
of Fuzzy Objects" (Teilchensysteme. Ein Verfahren zum Model
lieren einer Klasse von unscharfen Objekten), ACM Computer
Graphics, SIGGRAPH ′83, 17(3) (Juli 1983) 359-376, Reeves und
Blau, "Approximate and Probabilistic Algorithms for Shading
and Rendering Structured Particle Systems" (Approximative und
probabilistische Algorithmen zum Abschattieren und Gestalten
von strukturierten Teilchensystemen), ACM Computer Graphics,
SIGGRAPH ′85, 19(3) (Juli 1985) 313-322). Der Erfolg dieser
Systeme ist teilweise daraufzurückzuführen, daß Teilchensy
steme die Idee der Gestaltung ohne Geometrie verkörpern. Ent
lang der Bahn des Teilchensystems werden ein Beleuchtungsmo
dell und ein Einzelbild verwendet, um Pixel bzw. Bildelemente
direkt anstatt über die Vorstellung einer detaillierten Mikro
geometrie zu gestalten. Sowohl Anjyo u. a. als auch Rosenblum
u. a. modellieren jede Haarsträhne als flexiblen Strahl. Die
Simulationen, die sie vorlegen, sind für dickes Haar, das eine
Trägheit aufweist, überzeugend. Für leichtes Haar ist ihr
Verfahren jedoch rechnerisch aufwendig. Außerdem müssen Kolli
sionen zwischen Haaren paarweise berechnet werden und sind da
her aufwendig.
Rechnerisch aufwendige, akademische Lösungen sind vor
handen, aber es gibt keine kommerziellen Lösungen für das Pro
blem der Echtzeitsimulation von Haar. Obwohl bei der Simula
tion und Darstellung von Haar Fortschritte gemacht wurden, ist
eine Echtzeitsimulation von Haar bisher nur mit einer kleinen
Anzahl von Haaren erreicht worden. Was daher benötigt wird ist
ein Verfahren zur Echtzeitsimulation von Haar.
Die vorliegende Erfindung zerfällt in zwei Teile: Simu
lation und Gestaltung. Ein Simulator berechnet die Bewegungs
dynamik eines Haars. Der Simulator weist ein Teilchensystem,
das im Lauf der Zeit Teilchen von einer Oberfläche aussendet
bzw. emittiert, sowie ein Normierungsmodul auf, das die Bahn
jedes der Teilchen auf eine feste Länge normiert. Der Gestal
ter führt die verschiedensten Aufgaben aus, einschließlich der
Erzeugung unscharfer Segmente und der Selbstabschattung, die
ein Bild ergeben, das auf einem Sichtgerät dargestellt wird.
Das heißt, der Gestalter übernimmt eine dreidimensionale räum
liche Information, läßt ein Licht auf diese Information ein
wirken und gestaltet diese Information als ein zweidimensiona
les Bild.
In einem bevorzugten Ausführungsbeispiel werden während
einer Zeitspanne mehrere Teilchen mit einer Masse und einer
Geschwindigkeit ungleich null von einer Oberfläche emittiert.
In jedem Zeitschritt bzw. Zeitintervall wird ein Teilchen von
der gleichen Position auf der Oberfläche emittiert. Während
jedes Zeitschritts wird die Bahn jedes Teilchens normiert, um
eine Menge normierter Segmente zu erzeugen. Die normierten
Segmente werden zusammengefügt, um ein Haar zu simulieren.
Folglich werden Teilchen an der Wurzel eines Haars einige
Zeitschritte vor der Emission der Teilchen an der Haarspitze
emittiert. Das heißt, die Spitze eines Haars ist gegenüber der
Wurzel eines Haar verzögert. Diese Erscheinung ist als
"Verzögerungsanimation" bezeichnet worden. Das Haar wird ge
formt, indem man es in ein Kraftfeld bringt.
Während der Gestaltung werden das Aussehen und die Be
wegung eines Haars modelliert, indem man um jedes normierte
Segment herum ein unscharfes Segment (Fuzzy-Segment) erzeugt. Jedes auf einan
derfolgende Paar unscharfer Segmente definiert ein einzelnes
Haarsegment. Jedem unscharfen Segment wird eine Dichte zuge
ordnet. Auf jedes unscharfe Segment wird eine Texturabbildung
angewandt, um einem Nutzer zu gestatten, einen gewünschten
Haarstil oder ein gewünschtes Fellmuster zu erzeugen. Die vor
liegende Erfindung gestattet dem Nutzer, komplexe Haarsimula
tionen in Echtzeit an einem Grafikarbeitsplatz zu betrachten.
Die vorstehenden und weitere Merkmale und Vorteile der
Erfindung gehen aus der folgenden, ausführlicheren Beschrei
bung eines bevorzugten Ausführungsbeispiels der Erfindung her
vor, das in den beigefügten Zeichnungen abgebildet ist.
Fig. 1 zeigt ein grobes Blockschaltbild eines Computer
systems, das zur Implementierung der vorliegenden Erfindung
verwendet wird.
Fig. 2 zeigt die optische Darstellung von drei Haaren,
die jeweils von mehreren Segmenten gebildet werden.
Fig. 3 zeigt die Erzeugung unscharfer Segmente um jedes
Segment in einer Haarsträhne herum.
Fig. 4 zeigt eine Sekundäranimation, bei der die Spitze
eines Haars gegenüber der Wurzel eines Haars verzögert ist.
Fig. 5 zeigt mehrere von einer Oberfläche emittierte
Teilchen.
Fig. 6 zeigt ein grobes Blockschaltbild eines Simula
tors und eines Gestalters.
Fig. 7 zeigt die Dichteänderung innerhalb jedes un
scharfen Segments.
Fig. 8 zeigt, daß die von einem Haar reflektierte In
tensität einen Kegel annähert.
Fig. 9 zeigt die Geometrie der Integration eines un
scharfen Segments längs eines Strahls.
Nachstehend wird das bevorzugte Ausführungsbeispiel der
Erfindung anhand der Zeichnungen beschrieben, wobei gleiche
Bezugszeichen gleiche Elemente bezeichnen. Außerdem entspre
chen in den Zeichnungen die vordersten Stellen jedes Bezugs
zeichens der Zeichnung, in welcher das Bezugszeichen zuerst
verwendet wird.
In Fig. 1 ist ein Blockschaltbild eines Computergrafik-
Darstellungssystems 100 dargestellt. Das System 100 ist nur
als Beispiel aufzufassen, und es ist nicht beabsichtigt, die
Erfindung auf die Anwendung in dieser beispielhaften Umgebung
einzuschränken. Tatsächlich wird nach dem Lesen der folgenden
Beschreibung für den Fachmann auf diesem Gebiet offensichtlich
werden, wie die Erfindung in alternativen Umgebungen implemen
tiert werden kann. Das System 100 steuert ein Grafik-Subsystem
120 zur Erzeugung texturierter Bilder bzw. grafischer Darstel
lungen gemäß der vorliegenden Erfindung. In einem bevorzugten
Ausführungsbeispiel wird das Grafik-Subsystem 120 als interak
tiver Hochleistungs-Computergrafik-Arbeitsplatz genutzt.
Das System 100 weist einen Wirts- bzw. Verarbeitungs
prozessor 102 auf, der über einen Datenbus 101 mit einem
Hauptspeicher 104, einem Festwertspeicher (ROM) 106 und einem
Massenspeicher 108 verbunden ist. Der Massenspeicher 108 dient
zum relativ billigen Speichern einer riesigen Menge digitaler
Daten. Zum Beispiel kann der Massenspeicher 108 aus einem oder
mehreren Festplattenlaufwerken, Diskettenlaufwerken, optischen
Plattenspeicherlaufwerken, Bandlaufwerken, CD-ROM-Laufwerken
oder aus einer beliebigen Anzahl anderer Speichergerätetypen
mit Datenträgern zum Speichern von Digitaldaten bestehen.
Zum Vorteil eines interaktiven Nutzers sind außerdem
verschiedene Typen von Eingabe- und/oder Ausgabegeräten (E/A-
Geräten) mit dem Prozessor 102 verbunden. Eine alphanumerische
Tastatur 120 und ein Positionsanzeiger- bzw. Cursorsteuergerät
112 (z. B. eine Maus, eine Rollkugel (Trackball), ein Steuer
hebel (Joystick) usw.) dienen zur Eingabe von Befehlen und In
formationen. Die Ausgabegeräte schließen ein Hartkopie-Gerät
114 (z. B. einen Laserdrucker) zum Drucken von Daten oder an
deren Informationen auf einen greifbaren Datenträger ein. Eine
Tonaufzeichnungs- oder Video-Zusatzeinrichtung 116 und ein
Bildschirm 118 können mit dem System 100 gekoppelt werden, um
Multimedia-Fähigkeiten bereitzustellen.
Grafikdaten werden vom Prozessor 102 über den Datenbus
101 zum Grafik-Subsystem 120 übermittelt. Das Grafik-Subsystem
120 schließt eine Geometriemaschine 122, ein mit einem Textur
speicher 126 gekoppeltes Raster-Subsystem 124, einen Bildwie
derholspeicher 128, eine Grafikkarte 130 und einen Bildschirm
132 ein. Die vorliegende Erfindung ergänzt das ALIAS-Software
paket, das von Alias/Wavefront, Toronto, Kanada, bezogen wer
den kann. ALIAS ist ein komplettes System, das Werkzeuge
(Tools) zum schnellen Generieren von 3D-Modellen bietet, ein
schließlich Werkzeuge zum Erstellen, Editieren, Kolorieren,
Beleuchten und Animieren von Bildobjekten.
Die vorliegende Erfindung wird vorzugsweise unter Ver
wendung von Software implementiert, die in einer ähnlichen Um
gebung abläuft wie diejenige, die oben in Bezug auf Fig. 1 be
schrieben wurde. Im vorliegenden Dokument wird der Begriff
"Computerprogrammprodukt" zur allgemeinen Bezeichnung eines
Wechselspeichergeräts 108 oder eines ROM 106 benutzt. Compu
terprogramme (auch als Computersteuerlogik bezeichnet) sind in
dem ROM 106 oder in dem Wechselspeichergerät 108 gespeichert.
Bei der Ausführung befähigen derartige Computerprogramme das
Computersystem 100, die hier diskutierten Merkmale und Funk
tionen der vorliegenden Erfindung auszuführen. Dementsprechend
stellen diese Computerprogramme Steuereinrichtungen des Com
putersystems 100 dar.
Die vorliegende Erfindung zerfällt in zwei Teile: Simu
lation und Gestaltung. In Fig. 6 ist dies allgemein darge
stellt. Der Simulator 610 berechnet die Bewegungsdynamik von
Haar. Der Simulator 610 weist ein Teilchensystem 612, das
Teilchen von einer Oberfläche emittiert, und ein Normierungs
modul 614 auf, das die Bahn jedes Teilchens auf eine feste
Länge normiert, um eine Liste normierter Segmente zu erstel
len. Mehrere normierte Segmente bilden ein Haar, wie weiter
unten ausführlicher beschrieben wird. Der Simulator 610 gibt
die Liste normierter Segmente an einen Gestalter 620 aus. Der
Gestalter 620 führt die verschiedensten Aufgaben aus, ein
schließlich der Erzeugung unscharfer Segmente und der Selbst
abschattung, die ein Bild ergeben, das auf einem Sichtgerät
630 dargestellt wird. Das heißt, der Gestalter 620 übernimmt
eine dreidimensionale räumliche Information, läßt ein Licht
auf diese Information einwirken und gestaltet diese Informa
tion als ein zweidimensionales Bild. In einem bevorzugten
Ausführungsbeispiel fragt der Gestalter 620 den Simulator 610
aktiv nach Daten ab. Zum Beispiel kann der Gestalter 620 vom
Simulator 610 alle Objektzustände für ein Bild anfordern.
Das Teilchensystem 612 weist einen Zufallszahlengenera
tor (nicht dargestellt) auf, der zur Festlegung der Teilchen-
Emissionspositionen dient. Der Zufallszahlengenerator wird für
jedes Bild (oder jeden Zeitschritt) wieder auf den Anfangswert
gesetzt, um sicherzustellen, daß Teilchen in jedem Bild von
der gleichen Positionsmenge ausgehen. Als Alternative kann eine Menge
von Emissionspunkten erzeugt werden, und diese Punkte können
in jedem Bild wiederverwendet werden.
Bei der vorliegenden Erfindung werden zwei Gestaltungs
arten oder -modi ins Auge gefaßt. Der erste Modus verwendet
das Grafik-Subsystem 120. Eine typische Grafikmaschine, mit
der die vorliegende Erfindung implementiert werden kann, ist
eine Reality Engine von Silicon Graphics, Mountain View, Kali
fornien. Die erste Betriebsart gestattet die Echtzeitdarstel
lung von Haar. Die zweite Betriebsart erfordert keine Grafik
maschine. Der Gestalter läuft vielmehr als diskontinuierlicher
Prozeß (z. B. als Strahlspur) ab. Dieser wird zum Beispiel
durch den Prozessor 102 ausgeführt.
Die vorliegende Erfindung schafft ein System und ein
Verfahren zur Simulation von Haar in Echtzeit. Die vorliegende
Erfindung arbeitet innerhalb einer Grafik-Umgebung, die ein
Teilchensystem einschließt. Teilchensysteme sind im wesentli
chen in Hardware oder in Software implementierte Grafikmaschi
nen, die Teilchen von einer Oberfläche emittieren. Jede Ober
fläche kann einen oder mehrere damit verbundene Emitter zur
Emission von Teilchen aufweisen. Teilchen haben physikalische
Eigenschaften, zu denen Masse, Elastizität und Reibung gehö
ren. Die Masse bestimmt, wie Kräfte das Teilchen beeinflussen.
Je leichter das Teilchen, desto stärker wird es von einer
Kraft beschleunigt. Die Elastizität eines Objekts bestimmt den
Grad der Geschwindigkeitsdämpfung bei einem Zusammenstoß mit
einem anderen Objekt. Der Reibungskoeffizient definiert, wie
stark die Geschwindigkeit eines Objekts beeinflußt wird, wenn
es in Kontakt mit einem anderen Objekt kommt.
Haar kann auf natürliche Weise mit Hilfe eines Teil
chensystems simuliert werden, da Haar unter atmosphärischen
Bedingungen viele gleiche physikalische Eigenschaften wie ein
Teilchen aufweist. Fig. 5 veranschaulicht diesen Punkt. Es ist
eine Oberfläche 500 mit vier Emittern 515-530 dargestellt. Je
der Emitter 515-530 stellt einen Haarbalg dar. Jeder Emitter
emittiert ein Teilchen in einer Richtung, die sich von der ei
nes anderen Haarbalgs in der Oberfläche 500 unterscheidet. Die
Bahn des Teilchens ist eine Funktion von der Emissionsrich
tung, der Masse des Teilchens, der Anfangsgeschwindigkeit und
der Schwerkraft (oder irgendeiner anderen Kraft). In diesem
Beispiel kreuzen sich die Bahnen der Teilchen.
Offensichtlich wird das Erscheinungsbild von Haar durch
die Emission von Tausenden, wenn nicht Millionen dieser Teil
chen simuliert. Die Bahn (oder Vorgeschichte) jedes Teilchens
stellt dabei ein einzelnes Haar dar. Fig. 2 zeigt eine typi
sche Oberfläche 210 und drei Haare 215, 220, 225, die gemäß
der vorliegenden Erfindung von der Oberfläche 210 ausgehen.
Jedes Haar weist sieben Segmente von gleicher Länge auf. Die
Segmente, die das Haar 215 bilden, sind durch die Bezugszei
chen a-f gekennzeichnet worden. Es sind zwar sieben Segmente
dargestellt, aber dies dient nur zu Erläuterungszwecken. Bei
der vorliegenden Erfindung wird ins Auge gefaßt, daß ein Haar
von einer beliebigen Anzahl von Segmenten gebildet wird. Teil
chen werden mit früher emittierten Teilchen verknüpft, um eine
kontinuierliche Haarsträhne zu erzeugen. Die Zahl der Haare
wird durch die Menge der Teilchen bestimmt, die pro Bild von
einer Oberfläche 210 emittiert werden. Durch Vergrößern dieser
Menge wird mehr Haar erzeugt. In jeder Sekunde werden mehrere
Bilder auf einem Grafiksichtgerät dargestellt.
Die vorliegende Erfindung simuliert eine Verzögerungs
animation. Diese ist in Fig. 4 allgemein dargestellt. Die
Funktion der Verzögerungsanimation wird vom Simulator 610 aus
geführt. Fig. 4 veranschaulicht die Simulation eines Haars im
zeitlichen Ablauf. Drei Zeitrahmen bzw. zeitversetzte Bilder
werden mit T₁, T₂ und T₃ bezeichnet. Jedes Segment wird in
einem verschiedenen Zeitschritt simuliert. In einem bevorzug
ten Ausführungsbeispiel gibt es nur einen Zeitschritt pro
Bild. Jedes Bild kann jedoch auch mehrere Zeitschritte aufwei
sen. In jedem Zeitschritt wird die Bahn jedes emittierten
Teilchens normiert (ungeachtet dessen, wann es emittiert wur
de). Die normierten Segmente werden dann zur Simulation eines
Haars zusammengefügt. Folglich wird ein Teilchen an der Wurzel
eines Haars einige Zeitschritte vor der Emission des Teilchens
an der Spitze des Haars emittiert. Das heißt, die Haarspitzen
sind gegenüber den Haarwurzeln verzögert. Diese Erscheinung
wird als "Verzögerungsanimation" bezeichnet.
Gemäß der vorliegenden Erfindung ist das älteste Teil
chen (d. h. das Teilchen, welches das letzte Segment in dem
Haar bildet) gegenüber dem neusten Teilchen (d. h. dem Teil
chen, welches das erste Segment in dem Haar bildet) verzögert,
wobei die Verzögerungszeit (in Bildern) gleich der Anzahl der
Haarsegmente ist, geteilt durch die Zahl der Zeitschritte pro
Bild. Zeitschritte sind die Anzahl der ausgeführten Berechnun
gen (oder die Anzahl der gebildeten Segmente) pro Bild. Wenn
daher die Zahl der Haarsegmente gleich acht ist und das System
acht Berechnungen pro Bild ausführt, dann erscheint das Haar
sehr steif. Wenn dagegen das System eine Berechnung pro Bild
ausführt, dann fließt das Haar völlig frei. Dieses Merkmal
schafft die Illusion von Haar, das wächst und sich frei in der
Atmosphäre bewegt. Wenn sich ein Emitter sehr schnell bewegt,
kann das Haar eine Dehnungsneigung aufweisen. Dies läßt sich
durch Vergrößern der Schrittzahl pro Bild (d. h. durch Stei
fermachen des Haars) korrigieren.
Wie wiederum aus Fig. 4 erkennbar, wird von der Ober
fläche 410 während der Zeit T₁ ein Teilchen mit definierter
Masse und einer Geschwindigkeit ungleich null emittiert. In
einem bevorzugten Ausführungsbeispiel kann der Bahnwinkel re
guliert werden. Das emittierte Teilchen würde, wenn es unge
stört bleibt, einer normalen hyperbolischen Bahn folgen, bis
diese durch ein anderes Teilchen oder einen festen Körper (z. B.
den Boden oder die Schulter einer Person) beendet oder ge
stört wird. Bei der vorliegenden Erfindung wird jedoch die
Fortbewegung des Teilchens in jedem Zeitschritt gestoppt, wo
durch der Weg des Teilchens auf eine feste Bahn und/oder Di
stanz begrenzt wird. Formal wird dieses Verfahren als
"Normieren" des Teilchens bezeichnet. Zwanglos bezeichnet man
dieses Verfahren als "Schnappen" bzw. "Einrasten" des Teil
chens auf eine vordefinierte Länge. Einfach ausgedrückt, be
grenzt die vorliegende Erfindung die Fortbewegung jedes Teil
chens in jedem Zeitschritt auf eine feste Distanz. Diese Di
stanz wird als Haarsegment oder einfach als Segment bezeich
net. Mehrere Haarsegmente bilden ein Haar.
Nachstehend wird die Normierung beschrieben. Ein
Teilchen wird emittiert, an dem man Kräfte (z. B. die Schwer
kraft) angreifen läßt. Trägheit und Impuls des Teilchens wer
den berechnet. Auf der Grundlage dieser Werte wird für einen
gegebenen Zeitschritt eine neue Position des Teilchens ermit
telt. Als nächstes wird ein durch diese Position definierter
Vektor bestimmt. Der Vektor wird durch seine Länge dividiert
und mit einer vordefinierten Länge eines Segments multipli
ziert. Dadurch wird der Vektor auf eine definierte Distanz
vergrößert oder verkleinert. Alle Segmente innerhalb jedes
Haars haben die gleiche Länge. Dieser Vektor wird dann zur
Ausgangsposition addiert, um ein Haarsegment zu bilden, das
ebenfalls eine Startposition des Teilchens für den nächsten
Zeitschritt definiert. In einem bevorzugten Ausführungsbei
spiel wird eine getrennte Variable zum Steuerung der Trägheit
und der Masse geführt, um die Steifigkeit des Haars zu steu
ern.
Nach der Normierung wird durch die Emission eines er
sten Teilchens von der Oberfläche 410 ein Haarsegment A gebil
det. Jedes Haarsegment ist der Weg eines Teilchens durch einen
Zeitschritt. Der Weg des Teilchens ohne Normierung ist durch
die Punkte 412 dargestellt. Während eines zweiten Zeitrahmens
bzw. Bildes T₂ bewegt sich das erste Teilchen auf seinem Weg
weiter, und von der Oberfläche 410 wird ein zweites Teilchen
emittiert. Das heißt, das Teilchen, welches das Segment A er
zeugte, bewegt sich zu einer neuen Position, die nach der Nor
mierung das Segment A′ erzeugt. Danach wird das Segment A ab
gelegt. Durch die Emission des zweiten Teilchens wird ein
Haarsegment B gebildet. Während eines dritten Zeitrahmens bzw.
Bildes T₃ wird von der Oberfläche 410 ein drittes Teilchen
emittiert, um ein Haarsegment C zu bilden. Die Haarsegmente A′
und B bewegen sich zu einer neuen Position, die auf der natür
lichen Bewegung der Teilchen basiert, wodurch Haarsegmente A′′
und B′ erzeugt werden. Alle drei Haarsegmente werden
zusammengefügt, ,im ein Haar zu simulieren. Jede Haarsträhne
ist auf eine bestimmte Segmentzahl begrenzt, wodurch die Länge
des Haars fixiert wird. Das Alter der Teilchen ist an der Ba
sis (oder Wurzel) eines Haars gleich null und an der Spitze
gleich der maximalen Lebensdauer des Teilchens.
Emittierte Teilchen fliegen auseinander, wenn sich der
Emitter bewegt oder wenn äußere Kräfte angelegt werden. Zur
Lösung dieses Problems wird der Startzeitschritt eines Teil
chens so eingestellt, daß er der Endzeitschritt des Teilchens
ist, das einen Zeitschritt später von der gleichen Stelle
emittiert wurde. Diese beiden Positionen werden nicht zusammen
gemittelt, so daß das Haar erzeugt werden kann, indem man die
Simulation über die gleiche Schrittzahl laufen läßt, wie das
Haar Segmente besitzt. Würde man zulassen, daß der Endzeit
schritt eines Teilchens durch die Position anderer Teilchen
beeinflußt wird, dann müßte man die Simulation immer vom An
fang der Simulation an laufen lassen. Fell, das drei Segmente
besitzt, kann z. B. für jedes Bild in einer Animation mit
Hilfe von nur drei Schritten des dynamischen Systems erzeugt
werden und fließt dennoch auf natürliche Weise, wenn die Ober
fläche transformiert wird.
Jede Haarsträhne kann "versteift" werden, indem man
entweder mehr als ein Segment während eines Bildes simuliert
oder die Anzahl der Segmente, die eine Haarsträhne bilden, oh
ne Verkürzen der Haarsträhnenlänge verringert. Ein Ausdehnen
bzw. Strecken der Segmente wegen der Bewegung der Oberfläche
kann vermieden werden, indem man die Anzahl der Zeitschritte
pro Bild vergrößert. Jedes Segment entspricht einem Zeit
schritt in der Simulation. Wenn zehn Bilder in der Simulation
enthalten sind, wobei jedes Bild einen einzigen Schritt auf
weist, dann ist die Spitze gegenüber der Wurzel um zehn Bilder
verzögert. Wenn man alle zehn Zeitschritte in ein einziges
Bild bringt, dann ist die Spitze gegenüber der Wurzel nur um
ein Bild verzögert, wodurch ein sehr steifes Haar erzeugt
wird. Die Steifigkeit kann daher durch Veränderung der Anzahl
der Zeitschritte pro Bild gesteuert werden.
Ein Nutzer kann die Feinheit der Segmentierung von Haa
ren einstellen (ein Kompromiß zwischen Qualität und Geschwin
digkeit), ohne die Länge des Haars zu beeinflussen. Das heißt,
die Zahl der Segmente, die ein Haar bilden, kann verringert
werden. Die Normierung des Teilchenweges wird auf die Teil
chenposition angewandt, aber die für die Berechnung der näch
sten Schritte verwendete Geschwindigkeit wird nicht modifi
ziert.
Der Weg jedes Haars wird durch ein Kraftfeld (oder Be
wegungsfeld) geführt. Die Verwendung und die Implementierung
von Kraftfeldern sind dem Fachmann im allgemeinen wohlbekannt.
In einem bevorzugten Ausführungsbeispiel der vorliegenden Er
findung werden Kraftfelder zum Formen von Haar und zur Ab
stoßung, wenn auch zur reibungslosen Abstoßung, verwendet. Die
Kraftfelder werden im allgemeinen mit Hilfe von Pfeilen darge
stellt. Im wesentlichen sind Kräfte Objekte in dreidimensiona
len Räumen, die für einen gegebenen Punkt im Raum eine Rich
tung und einen Intensitäts- bzw. Feldstärkewert definieren.
Mit Hilfe von Kraftfeldern kann im dreidimensionalen Raum ein
Fluß (z. B. ein Volumenfluß) definiert werden. Da alle Haare
durch Kraftfelder beeinflußt werden, bewegen sich die Haare
übereinstimmend und neigen dazu, eine Überlappung oder Kolli
sion zu vermeiden. Abstoßungskräfte dienen zur Behandlung von
Kollisionen zwischen Objekten. Es wird ein Feld erzeugt, das
größer ist als das von dem Haar zu vermeidende Objekt (z. B.
eine Schulter). Dadurch entfällt die Notwendigkeit, Haar-Haar-
Kollisionen, die bei herkömmlichen Systemen typisch sind, zu
berechnen und zu verfolgen. Das heißt, die vorliegende Erfin
dung stützt sich nicht auf Haar-Haar-Kollisionen, um die Ge
samtgestalt des Haars beizubehalten. Im wesentlichen erfordert
die vorliegende Erfindung, daß jedes Haar wohlbekannten Prin
zipien der Teilchendynamik folgt.
Unterschiedliche Kraftfelder erzeugen verschiedene
Haartypen. Zum Beispiel kann ein Satz von Wirbelkräften, die
zylinderähnlich sind, zur Erzeugung eines geformten (oder tou
pierten) Haars verwendet werden. Durch Verstärken des radialen
Charakters dieser Kräfte kräuselt bzw. lockt sich das Haar.
Ein alternatives Verfahren besteht darin, daß man das Teilchen
sich relativ zu seiner Oberfläche spiralförmig winden läßt,
indem man eine Drehbewegung um die Bahnrichtung des Teilchens
hinzufügt. Das letztere Verfahren erzeugt Haare, die sich
nicht zusammen kräuseln. Vielmehr hat jedes Haar seine eigene,
einmalige Locke.
Sobald der Simulator 610 eine Menge normierter Segmente
erzeugt, wird nach der vorliegenden Erfindung ein Bild des
Haars gestaltet. Fig. 3 stellt ein bevorzugtes Ausführungsbei
spiel zur Gestaltung von Haar dar. Diese Funktion wird von dem
Gestalter 620 ausgeführt. Um jedes der Haarsegmente a-g herum,
die das Haar 215 bilden, wird jeweils ein Volumen 310-340 er
zeugt. Natürlich wird für jedes von der Oberfläche 210 emit
tierte Haar eine Menge von Volumina erzeugt. So wird jedes
Haar in Form einer Volumendichte modelliert. Beim Modellieren
von Haar als Volumendichte wird die räumliche Kohärenz von na
türlichem Haar ausgenutzt. Das heißt, daß dicht nebeneinander
liegende Haare dazu neigen, sich zu bewegen und zusammenzubal
len.
Um ein "Volumen" um jedes Haarsegment herum zu schaf
fen, erzeugt die vorliegende Erfindung eine Menge "unscharfer
Segmente" (Fuzzy-Segment). Ein unscharfes Segment ist eine Verallgemeinerung
des Verfahrens der sphärischen "Klecks"-Integration, das in
der Dissertation von Dr. Jos Stam, "Multi-Scale Stochastic Mo
deling of Complex Natural Phenomena" (Stochastische Mehrska
lenmodellierung komplexer Naturerscheinungen", University of
Toronto, veröffentlicht im Winter 1995, beschrieben wird, die
hier als Ganzes zur Bezugnahme einbezogen wird.
Fig. 7 stellt die Dichte eines unscharfen Segments 710
dar. Zu beachten ist, daß das unscharfe Segment ein dreidimen
sionales Volumen ist. Die maximale Dichte jedes unscharfen
Segments liegt in der Mitte. Die Dichte an den Enden jedes un
scharfen Volumens nimmt linear ab, bis die Dichte null am
äußersten Rand des unscharfen Segments erreicht ist. Wenn sich
daher zwei oder mehr unscharfe Segmente überlappen, um ein
Haar zu bilden, dann ist die Dichte in jedem Punkt innerhalb
des Haars gleich.
Jedes unscharfe Segment ist kegelförmig, woraus sich
ein kegelförmiges Haar ergibt. Der Durchmesser des Endes jedes
unscharfen Segments nimmt linear ab. Dies wird auch in Fig. 3
veranschaulicht. Der Durchmesser "A" ist größer als der Durch
messer "B", der seinerseits größer ist als der Durchmesser
"C". Der Durchmesser "H" ist daher der kleinste Durchmesser.
In einem alternativen Ausführungsbeispiel kann die Konizität
von der Wurzel zur Spitze linear zunehmen. Die unscharfen Seg
mente werden jeweils so miteinander verbunden, daß eine naht
lose Stoßstelle entsteht. Wie oben erörtert, hat jedes un
scharfe Segment in der Mitte eine hohe (optische) Dichte und
ist am Rande lichtdurchlässig. Somit bleibt die Dichte im
Überlappungsbereich zweier unscharfer Segmente konstant. In
einem alternativen Ausführungsbeispiel nimmt die Dichte von
der Wurzel zur Spitze linear ab. Bei der vorliegenden Erfin
dung wird ferner eine Änderung der Dichte von der Wurzel zur
Spitze oder von einem unscharfen Segment zum anderen ins Auge
gefaßt.
Leider sehen große Volumina nicht wie Haar aus. Daher
wird zur Simulation von Haarbüscheln eine Texturabbildung ver
wendet. Texturen verändern das Aussehen einer Oberfläche durch
Veränderung ihres Erscheinungsbildes. In Fig. 3 sind sieben
unscharfe Segmente 310-340 dargestellt. Jedes unscharfe Seg
ment weist eine auf seine Oberfläche abgebildete Textur auf.
Zum Beispiel ist das unscharfe Segment 315 mit einer kreuz
schraffierten Textur 350 dargestellt.
In einem bevorzugten Ausführungsbeispiel wird quer über
das Haar (d. h. über jedes unscharfe Segment) ein zweidimen
sionales Rauschen abgebildet. Die Anwendung eines zweidimen
sionalen Rauschens auf eine Oberfläche dürfte für den Fachmann
auf diesem Gebiet offensichtlich sein. Dies verleiht das Aus
sehen von überlappendem Haar. Die Textur wird vom unscharfen
Wurzelsegment bis zum unscharfen Spitzensegment abgebildet.
Das Rauschen ist daher von der Wurzel bis zur Spitze kontinu
ierlich. In einem bevorzugten Ausführungsbeispiel wird für je
des Haar ein verschiedenes Rauschen verwendet. Bei der vorlie
genden Erfindung wird daher eine Indexzahl für jedes Haar ge
führt.
Bei der Anwendung des zweidimensionalen Rauschens wird
sowohl eine Farbmodulation als auch eine Dichtemodulation be
nutzt. So sieht ein Betrachter die Effekte der Dichtemodula
tion deutlicher, wo die unscharfe Röhre dünner ist. Das heißt,
Haare, die durch die Rauschfunktion innerhalb eines unscharfen
Segments an der Spitze eines Haars geschaffen werden, sind für
einen Betrachter leichter sichtbar als Haare innerhalb eines
unscharfen Segments an der Haarwurzel. Haarbüschel innerhalb
eines unscharfen Segments an der Wurzel eines Haars erscheinen
dichter. In einem bevorzugten Ausführungsbeispiel wird bei der
vorliegenden Erfindung ferner die Farbe des Haars mit der
Dichtedifferenz multipliziert. So sieht ein Betrachter bei
dickem Haar eine stärkere Farbdetailänderung als bei dünneren
Haarabschnitten. So führt die Selbstabschattung des Haars da
zu, daß ein Betrachter eine Farbänderung sieht. Durch Einstel
len des Schlankheitsverhältnisses (oder des uv-Maßstabs) der
Textur kann das Aussehen des Haars weiter verändert werden.
In einem bevorzugten Ausführungsbeispiel der vorliegen
den Erfindung wird die Texturabbildung im Gesichtsfeld (d. h.
im Blickwinkel eines Betrachters, auch als Bildschirmfeld be
zeichnet) projiziert. Mit anderen Worten, die Haartextur (d. h.
das Rauschen) wird auf eine zweidimensionale Ebene abgebil
det, die durch die Mitte des unscharfen Segments geht und
stets senkrecht zum Auge des Betrachters orientiert ist. Die
ses Verfahren ist schneller als die Abbildung der Textur auf
das gesamte unscharfe Segment. Dieses Verfahren zeigt jedoch
eine Tendenz, unerwünschte Artefakte zwischen dem unscharfen
Wurzelsegment und der Oberfläche zu erzeugen. Im Gegensatz
dazu schneidet ein glatt texturiertes Volumen die Oberfläche
fehlerlos. Daher wird in einem alternativen Ausführungsbei
spiel gemäß der vorliegenden Erfindung eine Texturabbildung
auf die gesamte Oberfläche des unscharfen Segments ausgeführt,
da dieses Verfahren zu weniger Aliasing-Problemen führt (aber
die Erzeugung von mehr Systemressourcen erfordert). Außerdem
wird jedem Scheitelpunkt der unscharfen Segmente eine Farbe
zugeordnet. Zum Glätten der Farbe zwischen je zwei unscharfen
Segmenten wird interpoliert.
Das Aussehen von Haar hat viele charakteristische Merk
male gemeinsam mit Dichtefeldern. In der Tat wird von jeder
Haarsträhne Licht gestreut und absorbiert. Die Streuungseigen
schaften eines Mediums sind durch seine Phasenfunktion p(s·s′)
charakterisiert. Die Streuung ist stark von der Orientierung
jedes Haars abhängig. Folglich ist die Phasenfunktion nicht
von der Differenz zwischen Einfalls- und Ausfallswinkel abhän
gig. Im folgenden wird eine kurze Beschreibung eines Verfah
rens gegeben, das in einem bevorzugten Ausführungsbeispiel zur
Abschattung und Beleuchtung benutzt wird. Abschattung und Be
leuchtung von Haar
sind
dem Fachmann wohlbekannt. Bei der vorliegenden
Erfindung wird ein beliebiges bekanntes oder zukünftig zu ent
wickelndes Verfahren zur Abschattung und Beleuchtung von Haar
ins Auge gefaßt. Wegen einer allgemeinen Diskussion der Ab
schattung und Beleuchtung siehe Stam, "Multi-Scale Stochastic
Modeling of Complex Natural Phenomena" (Stochastische Mehrska
lenmodellierung komplexer Naturerscheinungen", University of
Toronto, veröffentlicht im Winter 1995.
Haar ist sichtbar, weil jede Haarsträhne Licht reflek
tiert und bricht. Die Effekte der Brechung und der Mehrfachre
flexion können als Lichtstreuung innerhalb eines Dichtefeldes
von Haaren modelliert werden. Dieses Modell ist jedoch nicht
vollständig, da oft stark gerichtete Reflexionen von Haar
sichtbar sind. Dieser Effekt ist bei pomadisiertem Haar beson
ders augenscheinlich. Wie aus Fig. 8 erkennbar, wird angenom
men, daß jede Haarsträhne 810 eine geringe Breite aufweist und
daß die Verteilung von reflektiertem Licht, das auf die aus
einer Richtung s einfallende Intensität zurückzuführen ist,
gleich dem auf die Richtung t des Haars 810 ausgerichteten
"Reflexionskegel" ist. Dies entspricht der Addition eines von
der Richtung der Haarsträhne 810 abhängigen Terms pspec zur
Phasenfunktion:
Pspec(s·s′,t) = pspecδ(s′·t-(-s·t)) =pspecδ((s′+s)·t) (1)
Folglich müssen die Schießvorgänge von Oberflächen und Licht
quellen zu den unscharfen Segmenten, die das Haar 810 bilden,
entsprechend verändert werden. Jedes Haar wird als ein Dichte
feld dargestellt, das um ein Segment zv = z₀ + vt herum defi
niert ist:
H(x) = W(distH(x), σ),
wobei distH die kürzeste Entfernung zum Haarsegment angibt und
W ein Glättungskern ist. Der am nächsten liegende Punkt auf
dem Segment (wobei angenommen wird, daß die Richtung t nor
miert ist) ist gleich der Projektion des Vektors x-z₀ auf
das Segment:
zclosest= z₀ + ((x-z₀)·t)t
Falls dieser Punkt nicht innerhalb des Haarsegments liegt, ist
Zclosest einer der Endpunkte des Segments. Folglich ist die
Entfernung gleich:
dH(x) = |(x-z₀) + ((x-z₀)·t)t|
Ein Integrationsverfahren zur Berechnung der Lichtdurchlässig
keit, die auf eine Gesamtheit bzw. ein Ensemble derartiger un
scharfer Segmente zurückzuführen ist, wird im folgenden ange
geben.
Zur Berechnung der von einem einzelnen unscharfen Segment her
rührenden optischen Dicke längs eines Strahls xu = x₀ + us muß
das folgende Integral berechnet werden:
Wir approximieren dieses Integral durch
wobei d₁ die kürzeste Entfernung des Strahls zu dem unscharfen
Segment, d₃ die halbe Entfernung, welche der Strahl durch das
abgeschnittene unscharfe Segment (siehe Fig. 9) durchläuft,
und u* der dem unscharfen Segment am nächsten liegende Punkt
auf dem Strahl ist. Die kürzeste Entfernung zum unscharfen
Segment wird mit Hilfe der Bedingung berechnet, daß die Diffe
renz zwischen dem Strahl und dem Segment xu-zv sowohl zur
Strahlrichtung als auch zur Richtung des unscharfen Segments
orthogonal sein muß:
(xu-zv)·s = 0 und (xu-zv)·t = 0
Durch Auflösen nach u und v erhält man:
Der Nenner 1-(s·t)² verschwindet, wenn der Strahl und das
Segment in einer Linie liegen, und in diesem Falle ist die
kürzeste Entfernung zum Beispiel durch d₁ = |x₀-zclosest|
gegeben. Im allgemeinen ist dann die kürzeste Entfernung durch
d₁ = |xu*-zv*| gegeben. Aus der Geometrie von Fig. 9 folgt,
daß die Entfernung längs des Strahls durch
gegeben ist, wobei R der Radius des abgeschnittenen unscharfen
Segments und ψ der Winkel zwischen der Richtung des Segments
und der Strahlrichtung ist, und daher gilt
Die von vielen unscharfen Segmenten herrührende optische Dicke
erhält man durch Aufsummieren der Beiträge von jedem der Seg
mente.
Die Haarsegmente werden in einer Vorlaufphase beleuch
tet, wobei die resultierende Farbe am Scheitelpunkt jedes Seg
ments im Cache-Speicher abgespeichert wird. Diese Farbe wird
bei der Gestaltung unter Verwendung des Parameters v quer über
das Segment interpoliert. Während der Vorlaufphase werden von
jedem Segmentscheitelpunkt Schattenfühler zu jedem Licht abge
schossen. Durch Akkumulieren bzw. Aufsummieren der Gesamtdich
te unscharfer Segmente, welche die Schattenfühler schneiden,
kann der Selbstabschattungsgrad des Haars bestimmt werden. Zur
Simulation von Mehrfachstreuungseffekten mit minimalen Berech
nungen wird bei der vorliegenden Erfindung vereinfachend ange
nommen, daß das Licht in der gleichen Richtung streut. Der
Grad dieser völlig gerichteten Streuung wird mit einem Diapha
nitäts- bzw. Durchsichtigkeitsparameter gesteuert. Der Durch
sichtigkeitsparameter skaliert einfach die Durchsichtigkeit
der unscharfen Segmente während der Vorlaufbeleuchtungsphase.
Je höher die Durchsichtigkeit, desto mehr Licht kann durch die
Haare gelangen. Eine von anderen Objekten herrührende Abschat
tung wird gleichfalls für die Schattenfühler berechnet. Die
Integration der Quellenintensität ist dann ähnlich derjenigen
für die Kleckse, die in der oben zitierten Arbeit von Stam,
Abschnitt 5.3.2, beschrieben wird.
Eine Hardware-Implementierung der vorliegenden Erfin
dung könnte die Abschattung durch Gestalten einer Dickenabbil
dung für jedes Licht berechnen. Die Dickenabbildung würde wäh
rend der Vorlaufphase anstelle der Schattenfühler verwendet.
Die Gestaltung des beleuchteten Haars kann dann durch Umwan
deln jedes unscharfen Segments in einen Streifen erfolgen, wo
bei eine Hardware-Durchsichtigkeits- und Farbabbildung verwen
det wird. Der Streifen ist ein flaches, polygonales Profil der
Röhre, das entlang dem Sichtvektor abgeflacht ist.
Es versteht sich, daß die Ausführungsbeispiele der vor
liegenden Erfindung in Hardware, Software oder einer Kombina
tion aus beiden implementiert werden können. In einem solchen
Ausführungsbeispiel würden die verschiedenen Komponenten und
Schritte in Hardware und/oder Software implementiert, um die
Funktionen der vorliegenden Erfindung auszuführen. In solchen
Ausführungsbeispielen der vorliegenden Erfindung können jede
gegenwärtig verfügbare oder in Zukunft zu entwickelnde Com
putersoftwaresprache und/oder Hardwarekomponenten verwendet
werden. Insbesondere können die oben diskutierten Ablaufdia
gramme für die Erstellung von Software-Ausführungsbeispielen
besonders gut verwendbar sein.
Die Erfindung ist zwar insbesondere unter Bezugnahme
auf ihre bevorzugten Ausführungsbeispiele dargestellt und be
schrieben worden, aber die Fachleute werden erkennen daß ver
schiedene Änderungen in Form und Details daran vorgenommen
werden können, ohne vom Grundgedanken und vom Schutzumfang der
Erfindung abzuweichen.
Claims (7)
1. Verfahren zur Simulation von Haar mit den folgenden
Schritten:
- (1) Emission mehrerer Teilchen von einem einzelnen Punkt auf einer Oberfläche, wobei jedes der Teilchen eine Masse und eine Geschwindigkeit ungleich null aufweist, wobei die mehreren Teilchen zeitlich nacheinander emittiert werden;
- (2) Normieren jedes der mehreren Teilchen, um eine Menge normierter Segmente zu bilden, wodurch jedes normierte Segment eine feste Länge aufweist; und
- (3) Zusammenfügen der Menge normierter Segmente zur Si mulation eines Haars, wodurch das Segment an der Spitze des Haars gegenüber dem Segment an der Haarwurzel verzögert wird.
2. Verfahren nach Anspruch 1, das ferner die Wiederho
lung der Schritte (1) bis (3) für weitere Punkte auf der Ober
fläche aufweist.
3. Verfahren nach Anspruch 2, das ferner eine zufällige
Einstellung des Bahnwinkels für jeden Punkt auf der Oberfläche
aufweist.
4. Verfahren nach einem der Ansprüche 1 bis 3, das ferner den Schritt
zur Längeneinstellung jedes der Segmente zur Einstellung der
Steifigkeit des Haars aufweist.
5. Verfahren nach einem der Ansprüche 1 bis 4, das ferner den Schritt
zum Formen des Haars mit einem Kraftfeld aufweist.
6. Verfahren nach einem der Ansprüche 1 bis 5, das ferner eine Emission
jedes der mehreren Teilchen unter Hinzufügen eines Drehmoments
um die Bahnrichtung jedes der Teilchen aufweist, um dadurch
jedem der Teilchen eine spiralförmige Bewegung relativ zu der
Oberfläche zu ermöglichen.
7. Vorrichtung zur Durchführung eines Verfahrens nach einem der
Ansprüche 1 bis 6.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/582,070 US5777619A (en) | 1996-01-02 | 1996-01-02 | Method for simulating hair using particle emissions |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19654809A1 true DE19654809A1 (de) | 1997-07-03 |
Family
ID=24327716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19654809A Withdrawn DE19654809A1 (de) | 1996-01-02 | 1996-12-31 | System und Verfahren zum Erzeugen von Haar mit einem Computergrafiksystem |
Country Status (4)
Country | Link |
---|---|
US (1) | US5777619A (de) |
JP (1) | JPH09305653A (de) |
DE (1) | DE19654809A1 (de) |
GB (1) | GB2310578B (de) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997031338A1 (fr) * | 1996-02-20 | 1997-08-28 | Sega Enterprises, Ltd. | Generateur d'images, procede de generation d'images et support d'enregistrement d'images |
US5909218A (en) * | 1996-04-25 | 1999-06-01 | Matsushita Electric Industrial Co., Ltd. | Transmitter-receiver of three-dimensional skeleton structure motions and method thereof |
US6014151A (en) * | 1997-11-05 | 2000-01-11 | Animation Science | Method for allowing a particle to follow a path |
US6348924B1 (en) | 1999-03-10 | 2002-02-19 | Silicon Graphics, Inc. | Method and apparatus for interactively painting volumetric particle flow paths and controlling a flow of the flow paths |
US8624888B2 (en) * | 1999-08-06 | 2014-01-07 | Sony Corporation | Screen space optimization techniques for use in a hair/fur pipeline |
US7880744B2 (en) * | 1999-08-06 | 2011-02-01 | Sony Corporation | Geometric instance techniques for use in a hair/fur pipeline |
US8717362B2 (en) * | 1999-08-06 | 2014-05-06 | Sony Corporation | Sub-patch optimization techniques for use in a hair/fur pipeline |
US9070228B2 (en) | 1999-08-06 | 2015-06-30 | Sony Corporation | Instanced hair database for use in a hair/fur pipeline |
US8711151B2 (en) * | 1999-08-06 | 2014-04-29 | Sony Corporation | Hair motion compositor system for use in a hair/fur pipeline |
US8624889B2 (en) * | 1999-08-06 | 2014-01-07 | Sony Corporation | Multiple instantiable effects in a hair/fur pipeline |
US8810582B2 (en) | 1999-08-06 | 2014-08-19 | Sony Corporation | Hair caching optimization techniques for use in a hair/fur pipeline |
US6952218B1 (en) * | 1999-08-06 | 2005-10-04 | Sony Corporation | Method and apparatus for the digital creation of fur effects |
FR2802679B1 (fr) * | 1999-12-21 | 2002-02-08 | Oreal | Systeme et procede d'analyse et de simulation previsionnelle de l'evolution d'une zone pileuse, et plus particulierement du cuir chevelu humain |
FR2802678B1 (fr) * | 1999-12-21 | 2002-02-08 | Oreal | Systeme et procede d'analyse et de simulation previsionnelle de l'evolution temporelle d'une zone pileuse, et plus particulierement du cuir chevelu humain |
JP2001283085A (ja) * | 2000-03-31 | 2001-10-12 | Advance Co Ltd | 美容システム |
JP2001357415A (ja) * | 2000-04-13 | 2001-12-26 | Sony Corp | 画像処理装置および方法、記録媒体、並びにプログラム |
US6747660B1 (en) * | 2000-05-12 | 2004-06-08 | Microsoft Corporation | Method and system for accelerating noise |
KR20020049383A (ko) * | 2000-12-19 | 2002-06-26 | 이형민 | 헤어스타일 생성 시스템 및 이를 이용한 헤어스타일 생성방법 |
US7206729B2 (en) * | 2000-12-29 | 2007-04-17 | Pixar | Inertial field generator: a method for controllably coupling kinematic character motions to dynamically simulated elements |
KR100420833B1 (ko) * | 2001-08-06 | 2004-03-02 | 김진수 | 유연한 물체의 시뮬레이션 장치 및 방법과 그 프로그램소스를 저장한 기록매체 |
US7091971B2 (en) | 2001-10-29 | 2006-08-15 | Ati Technologies, Inc. | System, method, and apparatus for multi-level hierarchical Z buffering |
US7427991B2 (en) * | 2002-02-12 | 2008-09-23 | Sony Corporation | System and process for digital generation, placement, animation and display of feathers and other surface-attached geometry for computer generated imagery |
US7098910B2 (en) * | 2003-05-14 | 2006-08-29 | Lena Petrovic | Hair rendering method and apparatus |
KR100500897B1 (ko) * | 2003-09-03 | 2005-07-14 | 한국전자통신연구원 | 방향을 갖는 질점과 일반화된 스프링 모델을 이용한비정형 물체의 애니메이션 방법 |
EP1569172A3 (de) * | 2004-02-26 | 2006-10-04 | Samsung Electronics Co., Ltd. | Datenstruktur zur Animation von Stoff, sowie Gerät und Verfahren zur Darstellung von dreidimensionalen Grafikdaten unter Verwendung der Datenstruktur |
US7468730B2 (en) * | 2004-03-25 | 2008-12-23 | Pixar | Volumetric hair simulation |
US7948485B1 (en) * | 2005-12-12 | 2011-05-24 | Sony Computer Entertainment Inc. | Real-time computer simulation of water surfaces |
US7567251B2 (en) * | 2006-01-10 | 2009-07-28 | Sony Corporation | Techniques for creating facial animation using a face mesh |
US7884826B1 (en) * | 2006-06-08 | 2011-02-08 | Pixar | Maintaining the groom |
US7701469B2 (en) | 2007-02-23 | 2010-04-20 | Sony Ericsson Mobile Communications Ab | Extension of display lifetime |
JP5145391B2 (ja) * | 2010-09-14 | 2013-02-13 | 株式会社コナミデジタルエンタテインメント | 画像処理装置、画像処理装置の制御方法、及びプログラム |
US9202312B1 (en) | 2014-07-18 | 2015-12-01 | Restoration Robotics, Inc. | Hair simulation method |
US9824464B2 (en) * | 2014-08-11 | 2017-11-21 | Corel Corporation | Methods and systems for generating graphical content through physical system modelling |
US10685472B1 (en) | 2019-01-31 | 2020-06-16 | Adobe Inc. | Animation brushes |
CN113345098B (zh) * | 2021-06-30 | 2022-12-30 | 广东时谛智能科技有限公司 | 一种可交互式编辑的实时毛发材质生成方法 |
CN115641375B (zh) * | 2022-12-07 | 2023-04-11 | 腾讯科技(深圳)有限公司 | 虚拟对象的毛发处理方法、装置、设备及存储介质 |
CN116071454A (zh) * | 2022-12-22 | 2023-05-05 | 北京字跳网络技术有限公司 | 发丝处理方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404426A (en) * | 1991-05-21 | 1995-04-04 | Hitachi, Ltd. | Method of displaying hair style and apparatus for the same |
US5500925A (en) * | 1992-12-01 | 1996-03-19 | Xaos Tools | Dynamic image processing using particle systems |
-
1996
- 1996-01-02 US US08/582,070 patent/US5777619A/en not_active Expired - Lifetime
- 1996-12-30 JP JP35840496A patent/JPH09305653A/ja active Pending
- 1996-12-31 GB GB9627095A patent/GB2310578B/en not_active Expired - Fee Related
- 1996-12-31 DE DE19654809A patent/DE19654809A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
GB2310578B (en) | 2000-07-26 |
GB9627095D0 (en) | 1997-02-19 |
US5777619A (en) | 1998-07-07 |
JPH09305653A (ja) | 1997-11-28 |
GB2310578A (en) | 1997-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19654809A1 (de) | System und Verfahren zum Erzeugen von Haar mit einem Computergrafiksystem | |
DE19654807A1 (de) | System und Verfahren zum Erzeugen von Haar unter Verwendung texturierter unscharfer Segmente in einem Computergrafiksystem | |
DE69924700T2 (de) | Verfahren zur Darstellung von durch Oberflächenelemente repräsentierten grafischen Objekten | |
DE69224499T2 (de) | Dreidimensionale graphische Verarbeitung | |
DE69924699T2 (de) | Verfahren zur Schaffung von als Oberflächenelemente dargestellten grafischen Objekten | |
DE112007002991B4 (de) | Computergraphikschattenvolumen unter Verwendung von hierarchischem Okklusions-Culling | |
DE60107130T2 (de) | Sichtbarkeitsprojektion und Bildrekonstruktion für Oberflächenelemente | |
DE69812732T2 (de) | Verfahren und Gerät zur schnellen Wiedergabe von durch Computer erzeugten Bildern von komplexen Strukturen | |
DE69907415T2 (de) | Bestimmung sichtbarer objekte für interaktive visualisation | |
DE69524330T2 (de) | Anordnung von Knotenverbindungstruktur in einem Raum mit negativer Krümmung | |
Hsu et al. | Drawing and animation using skeletal strokes | |
Deussen et al. | Computer-generated pen-and-ink illustration of trees | |
DE69807479T2 (de) | Erzeugung eines Bildes eines dreidimensionalen Objekts | |
US6348924B1 (en) | Method and apparatus for interactively painting volumetric particle flow paths and controlling a flow of the flow paths | |
Markosian et al. | Art-based rendering with continuous levels of detail | |
DE69227095T2 (de) | Bewegungen zur Umwandlung von konkaven Polyedern in ihre konvexen Hüllen | |
DE69924230T2 (de) | Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten | |
DE69514820T2 (de) | Verfahren zum steuern des levels von details in einer rechnergenerierten bildschirmanzeige einer komplexen struktur | |
DE19807013A1 (de) | Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet | |
DE68928630T2 (de) | Grafiksystem | |
US9710966B2 (en) | Styling of computer graphics hair through volumetric flow dynamics | |
DE69226617T2 (de) | Reihung und Planung von Bewegungen für das Umwandeln von konkaven Polyedern in ihre konvexen Hüllen | |
DE69520273T2 (de) | Datenverarbeitungsverfahren zur Darstellung einer dreidimensionalen Oberfläche | |
Andersen et al. | Hybrid fur rendering: combining volumetric fur with explicit hair strands | |
EP3188131B1 (de) | Verfahren und visualisierungsvorrichtung zur volumetrischen visualisierung eines dreidimensionalen objekts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8141 | Disposal/no request for examination |