• Nenhum resultado encontrado

Computer Graphics: Particle SystemsmA Technique for Modeling a Class of Fuzzy Objects

N/A
N/A
Protected

Academic year: 2022

Share "Computer Graphics: Particle SystemsmA Technique for Modeling a Class of Fuzzy Objects"

Copied!
18
0
0

Texto

(1)

Modeling a Class of Fuzzy Objects

WILLIAM T. REEVES Lucasfilm Ltd

This paper introduces particle systems--a method for modeling fuzzy objects such as fire, clouds, and water. Particle systems model an object as a cloud of primitive particles that define its volume. Over a period of time, particles are generated into the system, move and change form within the system, and die from the system. The resulting model is able to represent motion, changes of form, and dynamics that are not possible with classical surface-based representations. The particles can easily be motion blurred, and therefore do not exhibit temporal aliasing or strobing. Stochastic processes are used to generate and control the many particles within a particle system. The application of particle systems to the wall of fire element from the Genesis Demo sequence of the film S t a r Trek H:

The W r a t h o f K h a n [10] is presented.

Categories and Subject Descriptors: 1.3.3 [Computer Graphics]: Picture/Image Generation; 1.3.5 [Computer Graphics]: Computational Geometry and Object Modeling; 1.3.7 [Computer Graph- ics]: Three-Dimensional Graphics and Realism

General Terms: Algorithms, Design

Additional Key Words and Phrases: Motion blur, stochastic modeling, temporal aliasing, dynamic objects

1. INTRODUCTION

Modeling p h e n o m e n a such as clouds, smoke, water, a n d fire h a s p r o v e d difficult with the existing t e c h n i q u e s of c o m p u t e r image synthesis. T h e s e "fuzzy" objects do n o t have smooth, well-defined, a n d shiny surfaces; instead their surfaces are irregular, complex, a n d ill defined. We are interested in their d y n a m i c a n d fluid changes in shape a n d appearance. T h e y are n o t rigid objects n o r c a n their motions be described b y the simple affine t r a n s f o r m a t i o n s t h a t are c o m m o n in c o m p u t e r graphics.

This p a p e r presents a m e t h o d for the modeling of fuzzy objects t h a t we call particle systems. T h e r e p r e s e n t a t i o n of particle s y s t e m s differs in t h r e e basic ways from representations n o r m a l l y used in image synthesis. First, an object is represented n o t b y a set of primitive surface elements, such as p o l y g o n s or patches, t h a t define its b o u n d a r y , b u t as clouds of primitive particles t h a t define its volume. Second, a particle s y s t e m is n o t a static entity. Its particles c h a n g e form and m o v e with the passage of time. N e w particles are " b o r n " a n d old

Author's address: William T. Reeves, Lucasfilrn Ltd, P.O. B o x 2009, San Rafael, C A 94912.

Permission to copy without fee all or part of this material is granted provided that the copies are not m a d e or distributed for direct commercial advantage, the A C M copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. T o copy otherwise, or to republish, requires a fee and/or specific permission.

© 1983 ACM 0730-1301/83/0400-0091 $00.75

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

(2)

92 William T. Reeves

particles "die." Third, an object represented by a particle system is not determin- istic, since its shape and form are not completely specified. Instead, stochastic processes are used to create and change an object's shape and appearance.

In modeling fuzzy objects, the particle system approach has several important advantages over classical surface-oriented techniques. First, a particle (for now, think of a particle as a point in three-dimensional space) is a much simpler primitive than a polygon, the simplest of the surface representations. Therefore, in the same amount of computation time one can process more of the basic primitives and produce a more complex image. Because a particle is simple, it is also easy to motion-blur. Motion-blurring of fast-moving objects for the removal of temporal aliasing effects has been largely ignored in computer image synthesis to date. A second advantage is t h a t the model definition is procedural and is controlled by random numbers. Therefore, obtaining a highly detailed model does not necessarily require a great deal of human design time as is often the case with existing surface-based systems. Because it is procedural, a particle system can adjust its level of detail to suit a specific set of viewing parameters. As with fractal surfaces [5], zooming in on a particle system can reveal more and more detail.

Third, particle systems model objects t h a t are "alive," t h a t is, they change form over a period of time. It is difficult to represent complex dynamics of this form with surface-based modeling techniques.

Modeling objects as collections of particles is not a new idea. Fifteen years ago, the earliest computer video games depicted exploding spaceships with many little glowing dots that filled the screen. Point sources have been used as a graphics data type in many three-dimensional modeling systems {e.g., the early Evans and Sutherland flight simulators), although there are few real references to them in the literature. Roger Wilson at Ohio State [4] used particles to model smoke emerging from a smokestack. There were neither stochastic controls nor dynamics in his model. Alvy Ray Smith and Jim Blinn used particles to model star creation and death in galaxies for the Cosmos series [11]. Alan Norton [9] used particles to generate and display three-dimensional fractal shapes. J i m Blinn [3] discussed light reflection functions for simulating light passing through and being reflected by layers of particles. His technique was used to produce images of the rings of Saturn. Blinn did not address the fuzzy object modeling problem which is the topic of this paper. Volumetric representations have also been proposed as viable alternatives to surface representations. Solid modeling [13] is a form of volumetric representation, as is the work of Norm Badler and Joe O'Rourke on "bubble- man" [2]. The use of stochastic modeling relates our work to the recent ad- vances in fractal modeling [5].

Section 2 decribes the basic framework of particle systems in more detail.

Section 3 examines how particle systems were used to produce the fire element in the Genesis Demo sequence from the movie Star Trek H: The Wrath of Khan [10]. Section 4 presents several other applications of particle systems, and Section 5 discusses ongoing and future research in this area.

2. BASIC MODEL OF PARTICLE SYSTEMS

A particle system is a collection of many minute particles t h a t together represent a fuzzy object. Over a period of time, particles are generated into a system, move and change from within the system, and die from the system.

A C M T r a n s a c t i o n s on Graphics, Vol. 2, No. 2, April 1983

(3)

To compute each frame in a motion sequence, the following sequence of steps is performed: (1) new particles are generated into the system, (2) each new particle is assigned its individual attributes, (3) any particles t h a t have existed within the system past their prescribed lifetime are extinguished, (4) the remain- ing particles are moved and transformed according to their dynamic attributes, and finally (5) an image of the living particles is rendered in a frame buffer. The particle system can be programmed to execute any set of instructions at each step. Because it is procedural, this approach can incorporate any computational model that describes the appearance or dynamics of the object. For example, the motions and transformations of particles could be tied to the solution of a system of partial differential equations, or particle attributes could be assigned on the basis of statistical mechanics. We can, therefore, take advantage of models which have been developed in other scientific or engineering disciplines.

In the research presented here, we use simple stochastic processes as the procedural elements of each step in the generation of a frame. To control the shape, appearance, and dynamics of the particles within a particle system, the model designer has access to a set of parameters. Stochastic processes t h a t randomly select each particle's appearance and movement are constrained by these parameters. In general, each parameter specifies a range in which a particle's value must lie. Normally, a range is specified by providing its mean value and its maximum variance.

The following subsections describe in more detail the basic model for particle systems, and how they are controlled and specified within the software we have written.

2.1 P a r t i c l e G e n e r a t i o n

Particles are generated into a particle system by means of controlled stochastic processes. One process determines the number of particles entering the system during each interval of time, that is, at a given frame. The number of particles generated is important because it strongly influences the density of the fuzzy object.

The model designer can choose to control the number of new particles in one of two ways. In the first method, the designer controls the mean number of particles generated at a frame and its variance. The actual number of particles generated at frame f is

N P a r t s f = M e a n P a r t s r + R a n d ( ) x VarPartsr,

where R a n d is a procedure returning a uniformly distributed random number between -1.0 and +1.0, M e a n P a r t s f the mean number of particles, and V a r P a r t s f its variance.

In the second method, the number of new particles depends on the screen size of the object. The model designer controls the mean number of particles generated per unit of screen area and its variance. The procedural particle system can determine the view parameters at a particular frame, calculate the approximate screen area that it covers, and set the number of new particles accordingly. The corresponding equation is

N P a r t s f = ( M e a n P a r t s , a r + R a n d ( ) x VarParts,ar) x S c r e e n A r e a ,

A C M T r a n s a c t i o n s on Graphics, Vol. 2, No. 2, April 1983

(4)

9 4 William T. R e e v e s

where M e a n P a r t s , a r is the mean per screen area, VarPartssa r its variance, and S c r e e n A r e a the particle system's screen area. This method controls the level of detail of the particle system and, therefore, the time required to render its image.

For example, there is no need to generate 100,000 particles in an object t h a t covers 4 pixels on the screen.

To enable a particle system to grow or shrink in intensity, the designer is able to vary over time the mean number of particles generated per frame (i.e., M e a n P a r t s f and M e a n P a r t s s ~ r are, as used above, functions of frame number).

Currently, we use a simple linear function

M e a n P a r t s r = I n i t i a l M e a n P a r t s + D e l t a M e a n P a r t s × ( f - fo)

o r

M e a n P a r t s s ~ I = I n i t i a l M e a n P a r t s s ~ + D e l t a M e a n P a r t s ~ × ( f - fo ), where f is the current frame, f0 the first frame during which the particle system is alive, I n i t i a l M e a n P a r t s the mean number of particles at this first frame, and D e l t a M e a n P a r t s its rate of change. The variance controls, V a r P a r t s f and VarParts~a r, are currently constant over all frames. More sophisticated quadratic, cubic, or perhaps even stochastic variations in both the mean and variance parameters would be easy to add.

To control the particle generation of a particle system, therefore, the designer specifies f0 and either the parameters I n i t i a l M e a n P a r t s , D e l t a M e a n P a r t s , and V a r P a r t s , or the parameters I n i t i a l M e a n P a r t s , ~ , D e l t a M e a n P a r t s , a, and VarParts,~.

2 . 2 P a r t i c l e A t t r i b u t e s

For each new particle generated, the particle system must determine values for the following attributes:

(1) initial position,

(2) initial velocity (both speed and direction), (3) initial size,

(4) initial color,

(5) initial transparency, (6) shape,

(7). lifetime.

Several parameters of a particle system control the initial position of its particles.

A particle system has a position in three-dimensional space t h a t defines its origin.

Two angles of rotation about a coordinate system through this origin give it an orientation. A particle system also has a g e n e r a t i o n s h a p e which defines a region about its origin into which newly born particles are randomly placed. Among the generation shapes we have implemented are: a sphere of radius r, a circle of radius r in the x - y plane of its coordinate system, and a rectangle of length I and width w in the x - y plane of its coordinate system. Figure 1 shows a typical particle system with a spherical generation shape. More complicated generation shapes based on the laws of nature or on chaotic attractors [1] have been envisioned but not yet implemented.

A C M T r a n s a c t i o n s on Graphics, Vol. 2, No. 2, April 1983

(5)

Z

yW Z t

origin of~ \

particle

\ ~

s y s t e m ~

X'

~ ~ . ( . " "i(ii (-::!:. :: i ~ ~ n t a : i o n

x

~ o r i g i n of

w o r l d c o o r d i n a t e space

Fig. 1. Typical particle system with spherical generation shape.

The generation shape of a particle system also describes the initial direction in which new particles move. In a spherical generation shape, particles move outward away from the origin of the particle system. In a circular or rectangular shape, particles move upward from the x - y plane, but are allowed to vary from the vertical according to an "ejection" angle, which is another parameter (see Figure 3). The initial speed of a particle is determined by

InitialSpeed = M e a n S p e e d + R a n d { ) x VarSpeed,

where M e a n S p e e d and VarSpeed are two other parameters of the particle system, the mean speed and its variance.

To determine a particle's initial color, a particle system is given an average color, 1 and the maximum deviation from that color. Particle transparency and particle size are also determined by mean values and maximum variations. The equations are similar to the one given above for initial speed.

A particle system has a parameter t h a t specifies the shape of each of the particles it generates. The particle shapes implemented so far are spherical, rectangular, and streaked spherical. The latter is used to motion-blur particles-- a very important feature when modeling fast-moving objects. We discuss streaking particles in more detail in Sections 2.5 and 3.

The number of possible attribute control parameters and their variants is endless. We are presenting those t h a t we have found to be most useful and interesting.

2.3 Particle Dynamics

Individual particles within a particle system move in three-dimensional space and also change over time in color, transparency, and size.

1 In more detail, average red, green, and blue values are specified.

ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

(6)

96 William T. Reeves

T o m o v e a particle from one f r a m e to the next is a simple m a t t e r of adding its velocity v e c t o r to its position vector. T o add m o r e complexity, a particle s y s t e m also uses an acceleration factor to modify the velocity of its particles f r o m f r a m e to frame. With this p a r a m e t e r the m o d e l designer can simulate gravity and cause particles to m o v e in parabolic arcs r a t h e r t h a n in straight lines.

A particle's color changes over t i m e as prescribed b y t h e rate-of-color-change p a r a m e t e r . T h e t r a n s p a r e n c y and size of particles are controlled in exactly t h e same way. In o u r i m p l e m e n t a t i o n , these r a t e s of change are global for all particles in a particle system, b u t one can easily imagine m a k i n g this p a r a m e t e r stochastic too.

2.4 Particle Extinction

W h e n it is generated, a particle is given a lifetime m e a s u r e d in frames. As e a c h f r a m e is computed, this lifetime is d e c r e m e n t e d . A particle is killed w h e n its lifetime r e a c h e s zero.

O t h e r mechanisms, if enabled, arrange for particles to be killed because t h e y can c o n t r i b u t e n o t h i n g to t h e image. If t h e intensity of a particle, calculated f r o m its color a n d t r a n s p a r e n c y , drops below a specified threshold, the particle is killed.

A particle t h a t m o v e s m o r e t h a n a given distance in a given direction f r o m t h e origin of its p a r e n t particle s y s t e m m a y also be killed. T h i s m e c h a n i s m can be used to clip away particles t h a t s t r a y outside a region of interest. 2

2.5 Particle Rendering

Once t h e position and a p p e a r a n c e p a r a m e t e r s of all particles h a v e b e e n calculated for a frame, t h e r e n d e r i n g algorithm m a k e s a picture. T h e general particle- rendering p r o b l e m is as complicated as t h e r e n d e r i n g of objects c o m p o s e d of t h e more c o m m o n graphical primitives, such as polygons a n d c u r v e d surfaces. Parti- cles can obscure o t h e r particles t h a t are b e h i n d t h e m in screen depth. T h e y can be t r a n s p a r e n t and can cast shadows on o t h e r particles. F u r t h e r m o r e , particles can coexist in a scene with objects m o d e l e d b y surface-based primitives, and these objects can intersect with t h e particles.

In our existing system, two assumptions allow us to simplify t h e r e n d e r i n g algorithm. First, we assume t h a t particle systems do n o t intersect with o t h e r surface-based modeling primitives, and h e n c e o u r r e n d e r i n g a l g o r i t h m n e e d only h a n d l e particles. Objects m o d e l e d using o t h e r t e c h n i q u e s are c o m p o s i t e d t o g e t h e r with particle s y s t e m objects in a p o s t r e n d e r i n g compositing stage. In o r d e r for a particle s y s t e m to intersect or be b e h i n d o t h e r objects, t h e r e n d e r i n g s y s t e m will split the image of a particle s y s t e m into subimages b a s e d on clipping planes defined in t h e m o d e l coordinate space. T h e s e subimages are t h e n c o m b i n e d with o t h e r images in t h e compositing stage.

T h e o t h e r simplifying a s s u m p t i o n m a d e in our c u r r e n t r e n d e r i n g s y s t e m is t h a t each particle can be displayed as a p o i n t light source. 3 W i t h this assumption, 2 Note that this clipping is performed in modeling space--to a given plane for example. Clipping to the viewing frustum occurs later in the rendering stage and is discussed below.

3 Explosions and fire, the two fuzzy objects we have worked with the most, are modeled well with this assumption. Other fuzzy objects, such as clouds and water, are not. Section 5 discusses rendering algorithms for these objects.

ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

(7)

determining h i d d e n surfaces is no longer a problem. E a c h particle adds a bit of light to the pixels t h a t it covers. A particle b e h i n d a n o t h e r particle is not obscured b u t r a t h e r adds more light to the pixels covered. T h e a m o u n t of light added, and its color d e p e n d on the particle's t r a n s p a r e n c y and color. Currently, the a m o u n t of light added does not d e p e n d on the distance b e t w e e n the particle and t h e viewing position, b u t t h a t would be an easy extension. T h e viewing t r a n s f o r m a - tion, the particle's size, and its shape d e t e r m i n e which pixels are covered. All particle shapes are drawn antialiased in o r d e r to p r e v e n t t e m p o r a l aliasing and strobing. Light m a y be a d d e d to a pixel b y m a n y particles, so t h e r e n d e r i n g algorithm clamps the individual red, green, and blue intensities at t h e m a x i m u m intensity value of the f r a m e buffer instead of letting t h e m wrap around.

With this algorithm and assumptions, no sorting of the particles is needed.

T h e y are r e n d e r e d into the f r a m e buffer in w h a t e v e r o r d e r t h e y are generated.

Shadows are no longer a problem, since particles do not reflect b u t e m i t light.

2.6 Particle Hierarchy

Our system has a m e c h a n i s m t h a t supports the f o r m a t i o n and control of particle system hierarchies. T h e model designer creates a particle s y s t e m in which the particles are themselves particle systems. W h e n the p a r e n t particle s y s t e m is transformed, so are all of its d e s c e n d a n t particle systems and t h e i r particles. T h e p a r e n t particle system's m e a n color and its variance are used to select t h e m e a n color and variance of the offspring particle systems using the same equations p r e s e n t e d earlier. T h e n u m b e r of new particle systems g e n e r a t e d at a f r a m e is based on the p a r e n t ' s particle generation rate. T h e o t h e r p a r a m e t e r s of the p a r e n t similarly affect those of its children. T h e data s t r u c t u r e used to r e p r e s e n t the hierarchy is a tree.

A h i e r a r c h y can be used to exert global control on a complicated fuzzy object t h a t is composed of m a n y particle systems. F o r example, a cloud m i g h t be composed of m a n y particle systems, each r e p r e s e n t i n g a billowing region of w a t e r particles. A p a r e n t particle s y s t e m could group these all t o g e t h e r and control the cloud's global m o v e m e n t and a p p e a r a n c e as influenced by the wind and terrain.

3. USING PARTICLE SYSTEMS TO MODEL A WALL OF FIRE AND EXPLOSIONS

T h e Genesis D e m o sequence [14] from the movie Star Trek II: The W r a t h of K h a n [10] was g e n e r a t e d by the C o m p u t e r Graphics p r o j e c t of Lucasfilm Ltd.

T h e sequence depicts the t r a n s f o r m a t i o n of a dead, moonlike planet into a warm, earthlike planet by an e x p e r i m e n t a l device called the Genesis bomb. In a com- puter-simulated demonstration, the b o m b hits the planet's surface and an ex- panding wall of fire spreads out from the point of i m p a c t to e v e n t u a l l y "cleanse"

the entire planet. T h e planet's surface begins to buckle, m o u n t a i n s grow, and oceans, vegetation, and an a t m o s p h e r e form to p r o d u c e an earthlike e n v i r o n m e n t . T h e wall-of-fire e l e m e n t in the Genesis D e m o was g e n e r a t e d using a two-level hierarchy of particle systems. T h e top-level s y s t e m was c e n t e r e d at the i m p a c t point of the genesis bomb. It g e n e r a t e d particles which were t h e m s e l v e s particle systems. Figure 2 illustrates the positions of these second-level particle systems and how t h e y f o r m e d expanding concentric rings on the surface of the planet.

ACM T r a n s a c t i o n s on Graphics, Vol. 2, No. 2, April 1983

(8)

98 William T. Reeves

0 !0

Fig. 2.

impact point

D i s t r i b u t i o n o f p a r t i c l e s y s t e m s o n t h e p l a n e t ' s s u r f a c e .

T h e n u m b e r of new particle systems g e n e r a t e d in each ring was based on the circumference of the ring and a controlling density p a r a m e t e r . N e w particle systems were spaced r a n d o m l y a r o u n d the ring. Particle systems overlapping others in the same or a d j a c e n t rings gave the ring a solid, c o n t i n u o u s look.

T h e second-level particle systems began generating particles at varying times on the basis of t h e i r distance from the point of impact. B y varying the starting times of the particle systems, the effect of an expanding wall of fire was produced.

T h e second-level particle systems were m o d e l e d to look like explosions. Figure 3 shows an example. T h e generation shape was a circle on the surface of the planet. E a c h particle s y s t e m was o r i e n t e d so t h a t particles, g e n e r a t e d at r a n d o m positions within the circle, flew u p w a r d away from t h e planet's surface. T h e initial direction of the particles' m o v e m e n t was constrained b y t h e system's ejection angle to fall within the region b o u n d e d by the i n v e r t e d cone shown in Figure 3. As particles flew upward, the gravity p a r a m e t e r pulled t h e m back down to the planet's surface, giving t h e m a parabolic m o t i o n path. T h e n u m b e r of particles g e n e r a t e d per frame was based on the a m o u n t of screen area c o v e r e d by the particle system.

T h e individual particle systems were not identical. T h e i r average color and the rates at which the colors changed were i n h e r i t e d from the p a r e n t particle system, b u t varied stochastically. T h e initial m e a n velocity, g e n e r a t i o n circle radius, ejection angle, m e a n particle size, m e a n lifetime, m e a n particle generation rate, and m e a n particle t r a n s p a r e n c y p a r a m e t e r s were also based on t h e i r p a r e n t ' s

ACM T r a n s a c t i o n s on Graphics, Vol. 2, No. 2, April 1983

(9)

a typical particle's initial speed &

directi°r Z

a eC i°n n 7

le's initiial position

Fig. 3. F o r m of a n e x p l o s i o n - l i k e p a r t i c l e s y s t e m .

p a r a m e t e r s , b u t varied stochastically. V a r y i n g t h e m e a n velocity p a r a m e t e r caused the explosions to be of different heights.

All particles g e n e r a t e d b y t h e second-level particle s y s t e m s were p r e d o m i n a t e l y red in color with a t o u c h of green. Recall f r o m S e c t i o n 2.5 t h a t particles are t r e a t e d as point light sources a n d t h a t colors are added, n o t m a t t e d , into a pixel.

W h e n m a n y particles c o v e r e d a pixel, as was t h e case n e a r the c e n t e r a n d b a s e of each explosion, the red c o m p o n e n t was quickly c l a m p e d at full i n t e n s i t y a n d t h e green c o m p o n e n t increased to a point where t h e resulting color was o r a n g e a n d even yellow. T h u s , t h e h e a r t of the explosion h a d a h o t yellow-orange glow which faded off to s h a d e s of red elsewhere. Actually, a small blue c o m p o n e n t caused pixels c o v e r e d b y v e r y m a n y particles to a p p e a r white. T h e r a t e a t which a particle's color c h a n g e d s i m u l a t e d t h e cooling of a glowing piece of s o m e h y p o - thetical material. T h e green a n d blue c o m p o n e n t s d r o p p e d off quickly, a n d t h e red followed at a slower rate. P a r t i c l e s were killed w h e n t h e i r lifetime expired, w h e n their i n t e n s i t y fell below the m i n i m u m i n t e n s i t y p a r a m e t e r , or if t h e y h a p p e n e d to fall below the surface of the planet.

A quickly m o v i n g object leaves a b l u r r e d image on t h e r e t i n a of t h e h u m a n eye. W h e n a m o t i o n picture c a m e r a is used to film live action at 24 f r a m e s p e r second, t h e c a m e r a s h u t t e r typically r e m a i n s o p e n for 1/50 of a second. T h e image c a p t u r e d on a f r a m e is a c t u a l l y an i n t e g r a t i o n of a p p r o x i m a t e l y h a l f the m o t i o n t h a t o c c u r r e d b e t w e e n successive frames. An o b j e c t m o v i n g quickly a p p e a r s b l u r r e d in t h e individual still frames. C o m p u t e r a n i m a t i o n h a s tradition- ally i m a g e d scenes as individual i n s t a n t s in t i m e a n d h a s ignored m o t i o n blur.

T h e resulting m o t i o n often exhibits t e m p o r a l aliasing a n d s t r o b i n g effects t h a t are disconcerting to t h e h u m a n eye. M o t i o n blur is a c o m p l e x topic t h a t is beginning to a p p e a r in t h e l i t e r a t u r e [7, 12].

T h e particles in o u r wall-of-fire e l e m e n t are m o t i o n - b l u r r e d . T h r e e - d i m e n s i o n a l positions are calculated for a particle at t h e beginning of a f r a m e a n d a b o u t h a l f w a y t h r o u g h t h e frame, a n d an antialiased s t r a i g h t line is d r a w n b e t w e e n t h e

ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

(10)

100 William T. Reeves

corresponding screen coordinate positions in the f r a m e buffer. 4 Antialiased lines are used to p r e v e n t staircasing (moving jaggies) and strobing (popping on and off) effects. T o be perfectly correct, screen m o t i o n due to m o v e m e n t of t h e camera should be considered w h e n calculating where to blur a particle. One can also argue t h a t simulating the imperfect t e m p o r a l sampling of a movie c a m e r a is not ideal and t h a t m o t i o n blur should really simulate w h a t h a p p e n s in the h u m a n eye. This is a good area for f u t u r e research.

In the finished sequence, t h e wall of fire spread over the surface of the p l a n e t b o t h in f r o n t of and b e h i n d the planet's limb (outer edge). T h e r e n d e r i n g algorithm g e n e r a t e d two images per f r a m e - - o n e for all particles b e t w e e n t h e camera's position and the silhouette plane of the planet, and one for all particles on the o t h e r side of this clipping plane. T h e s e two e l e m e n t s were c o m p o s i t e d with the b a r r e n moonlike p l a n e t e l e m e n t and t h e stars e l e m e n t in b a c k - t o - f r o n t o r d e r - - s t a r s , b a c k g r o u n d fires, planet, and f o r e g r o u n d fires.

Because the wall of fire was m o d e l e d using m a n y small light-emitting particles, light from the fire should h a v e reflected off the planet's surface. Our c u r r e n t i m p l e m e n t a t i o n of particle systems does not h a n d l e light reflection on surface- based objects. T o achieve this effect, Lucasfilm t e a m m e m b e r T o m D u f f a d d e d an additional strong local light source above the c e n t e r of the rings of fire w h e n he r e n d e r e d the planet's surface. T h i s p r o d u c e d the glow t h a t circles t h e ring of fire on the planet's surface. {This glow is visible in Figure 5.)

Figure 4 is a frame showing the initial i m p a c t of t h e Genesis bomb. It was g e n e r a t e d f r o m one v e r y large particle s y s t e m and a b o u t 20 smaller ones a b o u t its base. A b o u t 25,000 particles exist in this image. Figure 5 occurs p a r t w a y t h r o u g h the first half of the sequence. It contains a b o u t 200 particle s y s t e m s and 75,000 particles. Figure 6 shows the ring of fire extending over and b e y o n d t h e limb of the planet. It is f o r m e d f r o m a b o u t 200 explosions a n d 85,000 particles.

Figure 7 shows the wall of fire just before it engulfs the camera; in Figure 8 the c a m e r a is c o m p l e t e l y engulfed. B o t h e m p l o y a b o u t 400 particle s y s t e m s a n d contain over 750,000 particles. T h e t e x t u r e s in Figure 8 are c o m p l e t e l y s y n t h e t i c and yet have a " n a t u r a l " and highly detailed a p p e a r a n c e t h a t is u n c o m m o n in most c o m p u t e r graphics images. T h e s e images are interesting statically, b u t t h e y only really come alive on the movie screen. It is interesting to n o t e t h a t this is also the case for m a n y of t h e best traditional (i.e., n o n - c o m p u t e r - g e n e r a t e d ) special effects shots w h e r e m o t i o n blur is an i m p o r t a n t factor.

A few points concerning r a n d o m n u m b e r s are of interest f r o m a p r o d u c t i o n point of view. T h e r a n d o m n u m b e r r o u t i n e we use is based on [6], and g e n e r a t e s n u m b e r s uniformly in the range [0.0, 1.0]. It is an i n c r e m e n t a l a l g o r i t h m based on updating a table of seed values. T o c h e c k p o i n t a production, all t h a t n e e d be saved is this r a n d o m n u m b e r t a b l e - - w e do not save all t h e p a r a m e t e r s of 750,000 particles. T o r e s t a r t a c o m p u t a t i o n at f r a m e n, t h e closest preceding f r a m e p is found t h a t c a n n o t c o n t r i b u t e particles to f r a m e n (this is d e t e r m i n e d f r o m t h e lifetime p a r a m e t e r s of all t h e active particle systems). F r a m e p + l ' s r a n d o m n u m b e r table is t h e n read, and particle generation can begin f r o m there. N o

4 A particle's t r a j e c t o r y is actually parabolic, b u t t h e straight-line a p p r o x i m a t i o n h a s so far p r o v e d sufficient.

ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

(11)

Fig. 4. Initial explosion.

Fig. 5. E x p a n d i n g wall of fire.

ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

(12)

102 William T. Reeves

Fig. 6. W a l l o f fire o v e r l i m b of p l a n e t .

Fig. 7. W a l l o f fire a b o u t t o e n g u l f c a m e r a . ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

(13)

Fig. 8. W a l l of fire c o m p l e t e l y e n g u l f i n g c a m e r a .

particles are drawn until the simulation reaches f r a m e n , so this backing up and restarting usually takes only a few minutes.

Particles moving off screen or being extinguished for any r e a s o n do n o t affect the r a n d o m n e s s of o t h e r particles. T h i s is because all stochastic decisions con- cerning a particle are p e r f o r m e d w h e n it is generated. After that, its m o t i o n is deterministic. If stochastic e l e m e n t s were to be used to p e r t u r b a t e the d y n a m i c s of a particle (e.g., to simulate turbulence), more care would h a v e to be t a k e n when checkpointing a frame and killing particles. In t h a t case, it would p r o b a b l y be b e t t e r to use a more deterministic and reproducible r a n d o m n u m b e r generator.

4. OTHER APPLICATIONS OF PARTICLE SYSTEMS 4.1 Fireworks

We are currently using particle systems to model fireworks. T h e fireworks differ from the Genesis D e m o in t h a t t h e control p a r a m e t e r s of the particle systems vary more widely, and streaking is more p r e d o m i n a t e . Figure 9 shows two red explosions superimposed. One explosion is tall, thin, and n e a r the end of its lifetime, and the o t h e r is short, fat, and building up to full steam. Figure 10 shows several green explosions dying off and blue spherical explosion starting up. Figure 11 contains overlapping, multicolored explosions f o r m e d with different generation shapes and ejection angles. Again, these images only really come alive w h e n projected at 24 frames per second.

ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

(14)

104 William T. R e e v e s

Fig. 9. T w o red fireworks.

/

Fig. 10. Green and blue fireworks.

ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

(15)

Fig. 11. M u l t i c o l o r e d f i r e w o r k s .

4.2 Line Drawing Explosions

Particle s y s t e m s are being used to m o d e l exploding o b j e c t s in a c o m p u t e r - s i m u l a t e d tactical display for a scene f r o m t h e m o v i e Return of the Jedi [8]. In this case, t h e particle s y s t e m s are i m p l e m e n t e d on a line-drawing display. In order to s i m u l a t e m o t i o n blur, t h e particles are d r a w n as v e r y small s t r a i g h t lines instead of as points. T h e t e x t u r i n g effects t h a t are e v i d e n t in t h e p r e v i o u s e x a m p l e s are lost on a line-drawing display, a n d y e t the m o t i o n still looks real a n d the sequence gives t h e viewer t h e i m p r e s s i o n t h a t s o m e t h i n g is exploding.

T h i s is b e c a u s e t h e m o d e l is d y n a m i c - - i t m o v e s well.

4.3 Grass

T o m o d e l grass, we use an explosive t y p e of particle s y s t e m , similar to t h a t u s e d in the Genesis Effect. I n s t e a d of drawing particles as little streaks, t h e p a r a b o l i c t r a j e c t o r y of e a c h particle o v e r its entire lifetime is drawn. T h u s , t h e t i m e - d o m a i n m o t i o n of t h e particle is used to m a k e a static shape. Grasslike g r e e n a n d d a r k green colors are assigned to t h e particles which are s h a d e d on t h e basis of t h e scene's light sources. E a c h particle b e c o m e s a simple r e p r e s e n t a t i o n of a b l a d e of grass a n d t h e particle s y s t e m as a whole b e c o m e s a c l u m p of grass. P a r t i c l e s y s t e m s r a n d o m l y placed on a surface a n d o v e r l a p p i n g one a n o t h e r are u s e d to model a b e d or p a t c h of grass.

Figure 12 is a p i c t u r e entitled white.sand b y A l v y R a y S m i t h of Lucasfilm. T h e grass e l e m e n t s of this image were g e n e r a t e d as described above. T h e p l a n t

ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

(16)

106 William T. Reeves

.4

i*

-.%

Fig. 12. white.sand.

e l e m e n t s were g e n e r a t e d using a p a r t i a l l y s t o c h a s t i c t e c h n i q u e similar to particle systems.

5. ONGOING RESEARCH IN PARTICLE SYSTEMS

A logical extension of this r e s e a r c h will be to use particle s y s t e m s to m o d e l fuzzy objects in which t h e individual particles c a n n o t be r e n d e r e d as p o i n t light sources, b u t m u s t be r e n d e r e d as individual light-reflecting objects.

T o this end, we h a v e b e g u n to i n v e s t i g a t e t h e m o d e l i n g of clouds. Clouds are difficult for several reasons. First, t h e s h a p e a n d f o r m of clouds are complex, depending on m a n y f a c t o r s s u c h as wind direction, t e m p e r a t u r e , terrain, a n d humidity. T h e a t m o s p h e r i c l i t e r a t u r e a b o u n d s w i t h cloud m o d e l s t h a t are s i m p l e in c o n c e p t b u t c o m p u t a t i o n a l l y difficult, since m o s t are b a s e d on p a r t i a l differ- ential equations. Second, clouds are difficult b e c a u s e t h e y c a n t h r o w s h a d o w s on themselves. T h i s p r o p e r t y is v e r y i m p o r t a n t in m a k i n g a cloud look like a cloud.

Third, t h e n u m b e r of particles n e e d e d to m o d e l a cloud will be v e r y large. T h i s will require an efficient r e n d e r i n g algorithm.

8. CONCLUSIONS

W e h a v e p r e s e n t e d particle systems, a m e t h o d for t h e m o d e l i n g of a class of fuzzy objects, a n d h a v e s h o w n h o w t h e y were u s e d in m a k i n g t h e fire e l e m e n t of t h e Genesis D e m o s e q u e n c e for t h e m o v i e S t a r T r e k H: T h e W r a t h o f K h a n . P a r t i c l e s y s t e m s h a v e b e e n u s e d as a m o d e l i n g tool for o t h e r effects a n d a p p e a r p r o m i s i n g for t h e modeling of p h e n o m e n a like clouds a n d smoke.

A C M T r a n s a c t i o n s on G r a p h i c s , Vol. 2, No. 2, April 1983

(17)

Particles, especially when modeled as point light sources or as streaks of light, have proved efficient to render--they are merely antialiased lines. Because they are so simple, they lend themselves to a hardware or firmware implementation.

With a hardware antialiased line-drawing routine, the computation of our wall- of-fire element would have been two to three times faster.

Particle systems are procedural stochastic representations controlled by several global parameters. Stochastic representations are capable of producing minute detail without requiring substantial user design time. The textures in the fire sequence could not have been modeled with other existing methods. Fire images, scanned in from a photograph or painted, could have been texture mapped, but they would still have been static. Another advantage of a procedural represen- tation is its ability to adapt to several different viewing environments. For example, procedural representations can generate only as much detail as is needed in a frame, potentially saving significant amounts of computation time.

Having finally come to grips with spatial aliasing, it is now time for computer image synthesis to being to investigate and solve temporal aliasing problems. The Genesis Demo is the first "big screen" computer-synthesized sequence to include three-dimensional dynamic motion blur. The particles in a particle system can easily be motion-blurred because they are so simple. A great deal of work remains to be done in this area--blurring particles is much easier than blurring curved surface patches.

Particle systems can model objects that explode, flow, splatter, puff up, and billow. These kinds of dynamics have not been produced with surface-based representations. The most important aspect of particle systems is that they move:

good dynamics are quite often the key to making objects look real.

7. ACKNOWLEDGMENTS

The author gratefully acknowledges the suggestions and encouragement of all members of the graphics project at Lucasfilm Ltd, especially those who worked on the Genesis Demo sequence: Loren Carpenter, Ed Catmull, Pat Cole, Rob Cook, David DiFrancesco, Tom Duff, Rob Poor, Tom Porter, and Alvy Ray Smith. The crusade for motion blur and antialiasing in computer image synthesis is a goal of the entire graphics project and Lucasfilm as a whole. One of the referees deserves credit for pointing out several extensions and improvements to the motion blurring discussion. Finally, thanks to Ricki Blau for editorial and photographic assistance.

REFERENCES

1. ABRAHAM, R., AND SHAW, C. D Y N A M I C S The Geometry of Behavior. City on the Hill Press, Santa Cruz, Calif., 1981.

2. BADLER, N. I., O'ROURKE, J., AND TOLTZIS, H. A spherical human body model for visualizing movement. Proc. I E E E 67, 10 (Oct. 1979).

3. BLINN, J. F. Light reflection functions for simulation of clouds and dusty surfaces. Proc.

SIGGRAPH '82. In Comput. Gr. 16, 3, (July 1982), 21-29.

4. C s u ~ , C., HACKATHORN, R., PARENT, R., CARLSON, W., AND HOWARD, M. Towards an inter- active high visual complexity animation system. Proc. SIGGRAPH 79. In Comput. Gr. 13, 2 (Aug.

1979), 289-299.

5. FOURNIER, i . , FUSSEL, D., AND CARPENTER, i . Computer rendering of stochastic models.

Commun. A C M 25, 6, (June 1982), 371-384.

ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

(18)

108 William T. Reeves

6. KNUTH, D . E . The Art of Computer Programming, vol. 2. Addison-Wesley, Reading, Mass., (1969), p. 464.

7. KOREIN, J., AND BADLER, N. L Temporal anti-aliasing in computer generated animation. To appear in Proc. SIGGRAPH '83 (July 1983).

8. LUCASFILM. Return of the Jedi (film), May 1983.

9. NORTON, A. Generation and display of geometric fractals in 3-D. Proc. S I G G R A P H '82. In Comput. Gr. 16, 3 (July 1982), 61-67.

10. PARAMOUNT. Star Trek H: The Wrath of Khan (film), J u n e 1982.

11. PBS. Carl Sagan's Cosmos Series. (television series}, Public Broadcasting System, 1980.

12. POTMESIL, M., AND CHAKRAVARTY, I. Modeling motion blur in computer-generated images. To appear in Proc. S I G G R A P H '83 (July 1983).

13. REQUICHA, A. A. G., AND VOELCKER, H . B . Solid modelling: A historical summary and contem- porary assessment. IEEE Comput. Gr. Appl. (March 1982).

14. SMITH, A. R., CARPENTER, L., CATMULL, E., COLE, P., COOK, R., POOR, T., PORTER, T. AND REEVES, W. Genesis Demo Documentary {film), J u n e 1982, Lucasffim Ltd.

Received February 1983; revised April 1983; accepted April 1983

ACM Transactions on Graphics, Vol. 2, No. 2, April 1983

Referências

Documentos relacionados

 Managers involved residents in the process of creating the new image of the city of Porto: It is clear that the participation of a resident designer in Porto gave a

A reconstruction of the past annual precipitation rates for the last 280 years has been obtained from speleothem annual growth rates, derived from the

Os objetivos específicos são divididos em cinco, sendo: estudar os conceitos de cultura da convergência, da conexão e do audiovisual e sua relação com o objeto de estudo;

O soro dos animais vacinados com lipossomo, EBS e proteolipossomos foram coletados semanalmente antes e após a infecção experimental para a detecção da produção de anticorpos IgG,

- um campo relativo ao seu próprio papel de actuação, no qual possui uma real autonomia e aplica o seu próprio saber. O papel do enfermeiro passa a ser não de subserviência, mas de

A análise das Figuras 117 a 119 permite concluir que a inspeção por partículas magnéticas via úmida colorida foi capaz de detectar todas as descontinuidades

Este resultado também foi verificado por Chu e Chan (2003), que reporta o pH ótimo para o tratamento de efluentes via processo Foto-Fenton, apresentando baixa

O presente estudo serve de base para obter um maior conhecimento da realidade dos idosos que freqüentam o grupo de ginástica em relação à autonomia funcional, onde os