Ray Tracing Deterministic 3-D Fractals

download Ray Tracing Deterministic 3-D Fractals

of 8

Transcript of Ray Tracing Deterministic 3-D Fractals

  • 8/4/2019 Ray Tracing Deterministic 3-D Fractals

    1/8

    @ ~ Com puter Graphics, Volume 23, Num ber 3, Ju ly 1989

    Ray Tracing Deterministic 3-D FractalsJohn C . H ar t* , D an ie l J . S and in*, L ou i s H . K auf fm an t

    *Electronic Visualization LaboratorytDept, of Mathemat ics, Statistics and Computer Science

    University of Illinois at Chicago

    A b s t r a c tAs shown in 1982, Julia sets of quadratic functionsas well as many other deterministic fractals existin spaces of higher dimensionalit y tha n the complexplane. Originally a bounda ry-t racki ng algorit hm wasused to view these structures but required a largeamou nt of storage space to operate. By ray tracingthese objects, the st orage facilities of a graphics work-stati on frame buffer are sufficient. A short discussionof a specific set of 3-D deterministic fractals precedesa full description of a ray-tracing algorithm appliedto these objects. A comparison with the boundary-tracking method and applications to other 3-D deter-ministic fractals are also included.

    C R C a tegor i e s and S ub jec t D esc r ip to r s :1.3.7 [Computer Graphics]: Three DimensionalGraphics and Realism -- Color, shading, shadowingand texture.

    Ge ne ra l Te rms : Algorithms, Theory.Addi t ion al Key wor ds and Phrases : f ractal ,quaternions, distance estimate, ray tracing, surface

    determination.

    1 I n t r o d u c t i o nComputer graphics has greatly aided the investiga-tion of the dynamic s of iterati ve functions. Stan-

    dard 2-D frame buffer techniques have provided suffi-cient visual information about the structures sincemost of the research has concentrated on the dy-namics of complex variables. However, recent inves-tigations into higher-dimensionM dynamical systems[14,15,3,5,17] h ave shown th e need for 3-D visualiza-tion tools that will give researchers a better under-standing of these objects.

    One such method is ray tracing, but this methodis prohibitively slow unless an efficient ray-surface in-tersection compu tatio n is used. While these functionsare available for Euclidean surfaces, t hey do not exist(yet) for fractal ones. However, using an unusual con-struction called the unbounding volume, made pos-sible by a recent advance in the study of dynamics,swift ray tracing of these dete rministic fractal objectsis possible.

    Prior to the description of the algorithm, a specificfamily of 3-D deterministic fractals, quaternion Juliasets, is outlined. The generati on algorith m is thendeveloped using this family as example. Renderingprocedures specific to fractal surfaces are then dis-cussed. Finally, the alg orithm is compared with itspredecessor [14] and applications to other families of3-D deterministic fractal objects are shown.

    2 D y n a m i c s i n t h e Q u a t e r -n i o n s

    Permission to copy without fee all or part of this material is grantedprovided that the copies are not madeor distributed for directcommercial advantage, he ACM copyrightnotice and the title of thepublication and its date appear, and notice is given hat copying s bypermission of the Associationfor ComputingMachinery.To copyotherwise, or to republish, requires a fee and/or specific permission.

    1989 ACM-O-89791-312-4/89/O07/0289 $00.75

    The dynamics of quadratic functions have been ob-served main ly in the complex plane. However, asshown first in 1982 [14], they exist in the 4-D spaceof the quaternio ns as well. A discussion of the spe-cial properties of Julia sets in the q uaternions, forwhich the ray-tracing algorithm was developed to vi-sualize, is preceded by an introduction to dynamicsand quaternion algebra.

    289

  • 8/4/2019 Ray Tracing Deterministic 3-D Fractals

    2/8

    , 89, Boston, 31 July-4 August, 19892 . 1 D y n a m i c s o f Q u a d r a t i c F u n c t i o n sT h e e x a m p l e s u s e d i n t h is p a p e r a r e d e r iv e d f r o m t h eq u a d r a t i c f u n c t i o n

    f ( z ) = + ( 1 )w h e r e z i s t h e i t e r a t e d v a r i a b l e a n d p i s a c o n s t a n tp a r a m e t e r o f t h e e q u a t i o n .

    T h e d y n a m i c s o f a fu n c t i o n f a r e e x p r e s s e d a s t h en - f o l d a p p l i c a t i o n o f f u n c t i o n f t o a n i n i ti a l v a l u ez . T h e r e s u l t is d e n o t e d a s f n ( z ) a n d s h o u l d n o t b ec o n f u s e d w i t h s i m p l y r a i s i n g t h e r e s u l t o f f ( z ) t o t h en t h p o w e r .

    T h e r e s u l t i n g v a l u e f n ( z ) i s u s e d t o c l a s s i f y t h ei n i t i a l p o i n t z d e p e n d i n g o n i t s a t t r a c t i o n t o i n f i n i t y .T w o s e ts m a y b e c o n s t r u c t e d u n d e r t h i s c la s s if i ca t io n .T h e f il le d -i n J u l i a s e t / C ~ a n d t h e M a n d e l b r o t s e t . M .D e f i n i t i o n 1 / C~ , = { z : l ir a f ~ ( z ) 7 4 o o}

    rl---* Cx:)

    D e f i n i t i o n 2.h4 = { p : li~noo ; (zc) -74 oo, f~( zc ) --- 0}

    N o t e t h a t z i s t h e c r i t ic a l p o i n t o f t h e f u n c t i o n .T h e r e i s o n l y o n e c r i t i c a l p o i n t o f e q . ( 1 ) a n d i t i sa l w a y s 0 . S e v e r a l c r i t ic a l p o i n t s a r e c o m m o n f o r p o l y -n o m i a l s o f d e g r e e 3 o r g r e a t e r .

    T h e i n t e r e s t i n g p r o p e r t y t h a t J u l i a a n d M a n d e l -b r o t s e t s s h a r e i s t h a t t h e y a r e b o t h f r a c t a l [ 1 2 ] p o s -s e s s i n g d e t a i l a t e v e r y l e v e l o f m a g n i f i c a t i o n .2 . 2 T h e Q u a t e r n i o n sT h e v a l u e s z a n d p a r e c o m m o n l y d e f i n e d a s r e a lo r co m p l e x . H o w e v e r , t h e s e v a l u e s m a y b e d e f in e di n a n y a l g e b r a i c s y s t e m c l o s e d u n d e r a d d i t i o n a n dm u l t i p l i c a t i o n . O n e s u c h s y s t e m , t h e q u a t e r n i o n s [ 7 ],p o s s e s s e s t h e a d d i t i o n M b e n e f i t o f h a v i n g f o u r d i m e n -s ions .D e f i n i t i o n 3 A qua tern ion va lue q is a four - tup lecons i s t ing o f one rea l par t and th ree imag ina r ies

    q = q l + q i i + q j j + q k kwhere i~ j~ k a re ima g inary un i t s ,

    Q u a t e r n i o n m u l t i p l i c a t i o n i s a l s o s i m i l a r to p o l y n o -m i a l m u l t i p l i c a t i o n b u t w i t h t h e s p e c i a l c a s e s

    i j = k ; j k = i ; k i = j , (3 )a n d

    j i = - k ; k j i k = - j , ( 4 )r e v e a li n g a n u n f o r t u n a t e s i d e e f fe c t o f t h e q u a t e r -n i o n s : n o n c o m m u t a t i v e m u l t i p l i c a t i o n .2 . 3 J u l i a S e t s i n t h e Q u a t e r n i o n sB y u s i n g t h e r u l e s o f q u a t e r n i o n a l g e b r a , e q . ( 1 ) c a nb e i te r a t e d i n t h e q u a t e r n i o n s a n d J u l i a s e t s m a y b ec o m p u t e d . S i n c e t h e c o m p l e x p la n e i s a s u b s e t o ft h e q u a t e r n i o n s , t h e s a m e c o m p l e x J u l i a s e t s e x is t i nt h e q u a t e r n i o n s b u t o f t e n h a v e e x t e n s i o n s o u t s i d e t h ec o m p l e x p l a n e . I n f ac t , if ~ h a s a n i m a g i n a r y c o m p o -n e n t , t h e n t h e e x t e n s i o n s a r e n o n t r i v i a l , c o n t a i n i n gm o r e i n f o r m a t i o n t h a n t h e i r c o m p l e x s u b s e t s .

    A s u b s e t o f th e s e e x t e n s i o n s c a n b e v i s u a li z e d i n3 - D b y e x a m i n i n g t h e i n t e r s e c t i o n o f t h e 4 - s p a c e w i t ha 3 - s p a ce s u c h as t h a t s p a n n e d b y 1 , i , j a t O k. I ts h o u l d b e m e n t i o n e d t h a t t h e J u l i a s e t s o f e q . (1 ) int h e 3 - s p a c e s p a n n e d b y i t j , k a t 0 a r e a l w a y s c o n c e n -t r i c s p h e r e s c e n t e r e d a t t h e o r i g i n [ 8 ] .

    A n i n t e r e s t i n g p r o p e r t y a b o u t q u a t e r n i o n J u l i a s e t si s t h a t g i v e n t w o c o m p l e x J u l i a s e t s d i f f e r i n g o n l y b ya r o t a t i o n a b o u t t h e o r i g i n , t h e i r s u p e r s e t s i n 3 - Dm a y h a v e c o m p l e t e l y d i ff e r en t s h a p e s . T h e r o t a t i o no f t h e J u l i a s e t i n t h e c o m p l e x p l a n e i s c o m p u t e d b yi n c o rp o r a ti n g t h e h o m e o m o r p h i s m

    g 0 ( z ) = ( 5 )i n t o t h e i t e r a t e d f u n c t i o n s u c h t h a t

    L, , e ( z ) = ( 6 )w h i c h s u f f ic e s t o r o t a t e t h e p o s i t i v e r e a l a x i s i n t o t h ep o s i t i v e i m a g i n a r y a x i s a n d s o f o r t h i n a c o u n t e r -c l o c kw i s e m a n n e r a b o u t t h e o r i g i n i n t h e c o m p l e xp l a n e . T h e r e s u l t i n g J u l i a s e t i s m e r e l y r o t a t e d i nt h e c o m p l e x p l a n e b u t a p p e a r s q u i t e d i f f e r en t l y i n t h eq u a t e r n i o n s s i n c e i t s i n t e r s e c t i o n w i t h t h e i m a g i n a r y3-space i s changed . See [15 ,8 ] fo r de t a i l s .

    i = j 2 = k : = - 1 . ( 2 )A l g e b r a i c o p e r a t i o n s c a n b e d e f i n e d i n t h e q u a t e r -

    n i o ns b y t r e a t i n g t h e q u a t e r n i o n v a l u e s a s p o ly n o m i -a l s o f t h r e e v a r i a b l e s i , j , k . F o r e x a m p l e , t h e c o -e f fi ci e nt s o f t h e s u m o f t w o q u a t e r n i o n v a l u e s m a yb e f o u n d b y a d d i n g t h e i r c o r r e s p o n d i n g c o e f f ic i e n ts .

    3 R a y T r a c i n g 3 - D J u l i a S e t sR a y t r a c in g i s o n e o f t h e m o r e r e a l is t ic m e t h o d s o fr e n d e r in g o b j e c t s . E a s i l y a c c o u n t i n g f or h id d e n s u r -f a c e s a n d s e l f - s h a d o w i n g , i t a l s o p r o v i d e s a m e t h o df o r d i s p l a y i n g r e f le c t i o n , t r a n s p a r e n c y a n d r e f r a c t i o n .M a t h e m a t i c a l o b j e c t s m a y b e r a y t r a c e d b y d e t e ct in g

    29 0

  • 8/4/2019 Ray Tracing Deterministic 3-D Fractals

    3/8

    , i ~ Computer Graphics, Volume 23, Number 3, July 1989

    Figure 1: A quaternion Julia set before and after aquarter turn in the complex plane.

    their boundaries dur ing a ray-casting step and render-ing the surfaces by allowing the ray to be deflectedoff to a light source.

    A naive method to ray trace a quaternion Julia setis to sample each point at a given resolution alongeach ray. This is not an entirely ridiculous meth odsince it is the basis of some volumetric render ing algo-rithms [10]. However, it is not practical when appliedto fractal objects since each point's classification mayrely on a large number of function iterations. Withthe use of a new ray-tracing mechanism, the amountof sample points per ray is greatly reduced.

    3 .1 U n b o u n d in g V o lu mesOne method of increasing the speed of ray tracing isthe use of bounding volumes. A bounding volume,usually a sphere or ellipsoid, envelopes several sur-faces such that if a ray does not intersect the bound-ing volume it does not intersect the surfaces corttairtedin it.

    Bounding volumes are quite useful in hastening r aytracing of stochastically-defined fractal surfaces [9,4].Unfortunately their application to deterministic frac-tals has not been as successful. However, with thediscovery of the distance estimate, we can increasethe speed of ray tracing deterministic fractals usinguubounding volumes.

    Unbounding volumes are defined as volumes thatdo no t contain any part of the object. Thus, givenany point outside the object, the ideal bounding vol-ume is the largest volume that does not intersect theobject centered at the point. If this volume is a spherethen its radius is the distance to the object. Givena point and a deterministic fractal object, its exactdistance can not be computed efficiently but it can be

    estimated in time proportional to the time it takes todetermine if the point is external to the object.

    The lower bound of the distance from a poi nt ex-ternal to the deterministic fractal set is given as

    d(z) = sinhG(z ) logG(z), (7)2ea(') lG'(z)lwhere G(z) is the electrostatic potential at point zand Gr(z) is the gradi ent of this potential. For thequadratic family, the approximation

    d(z) =. If' (z)l lo gf n( z)21/'"(Z)I (8 )is sufficiently accurate [13,6]. See [17] for the compu-tation of f ' (z) .

    By using a distance estimate we can define an un-bounding volume of a deterministic fractal set as asphere tha t is guarantee d not to intersec t 1 nor con-tain the set in question. Since the distance estimatemay be much smaller than the distance along the rayto the object, several repeated distance calculationsmust be made as the ray is traversed from eye to sur-face.

    3 . 2 R a y T r a v e r s a lGiven the set of unboundi ng spheres completely sur-rounding an object, a ray is traversed from the eyethrough the projection plane to the object, testingand incrementing at each point along the ray. By in-crementing by the radius of the unbounding sphere,we leap along the ray until we approach the surface.

    As the current poi nt on the ray approaches the sur-face, the unboundi ng spheres get smaller and smaller.To hasten convergence, a small number c is defined asthe mini mum ray increment. This increment shouldbe set to give the best depth resolution with respectto the resolution of the projection plane.

    The ray traversal equation may be stated induc-tively given the eye position r0 and a point in theprojection plane p~,u as

    rn+l = r, + mm ax d( r, ), e. (9)where m is a unit slope vector of the ray

    m - P~'~ - r0 (10)IP=,y - r0l

    1 With the except ion of a s ingle point .

    291

  • 8/4/2019 Ray Tracing Deterministic 3-D Fractals

    4/8

    '89, Boston, 31 July-4 August, 1989

    | ro ~i r2 r3 r4 r5

    Figure 2: Ray trave rsal using unboundi ng spheres.3 .3 T h i n O b j e c t sOften t he extensions of K: into 3-D are very thin, suchas when ~ is a dendrite. This creates the possibilitythat incrementing by ~ may traverse the ray com-pletely through the object.

    This problem has also had manifestations in the2-D study of these images such as the complex Man-delbrot set. To show th at the "islands" off the maincontine nt of .M are connecte d to it, the Mandelbrotset may be defined computationally as

    .A4, = {z : d ( z ) < e} (11)where d 0 is the dis tance estimat e as defined in eq. (7).The r esult is the "hairy" Maudel brot set [13] revealingits dendritic structures2.

    A similar technique is used to ray trace dendriticsheets in 3-D. By ter mina ting ray traversal whenthe distance is less than the minimum ray increment,thickness is added to the object while maintaining itsstructure and detail.3 .4 A v o i d i n g B a d D i s t a n c e E s t i m a t e sWhen the approximation to eq. (7) is used, it is inac-curate when z is far from the set. This can result inexaggerated distance estimates which could possiblypush the ray far into the inter ior of the object.

    To avoid these bad estimat es a single bounding vol-ume may be used to contai n the frac tal set if it can bebounded. Another alternative is to set a maximumdistance to increment along the ray.

    4 R e n d e r i n g F r a c t a l S u r f a c e sThe determinist ic family of fractals has provided com-puter graphics with the most complicated borders.

    2Note t h a t t h e s e hairs may be seen very clearly as the set.Me- 2v[,

    The surfaces defined by these borders in 3-D, al-though quite chaotic, often reveal the structure of theobject. A proper rendering of a fractal surface shouldreveal its order while hinting at its chaos.

    Since the surface of a fractal is infinitely convo-luted, its normal can only be approximated. The ap-proximated normal signifies the structure of the sur-face while at finer resolutions the light is scatte red inall directions. Thus the surfaces should be diffuselyshaded using the La mberti an model.

    Also, to achieve the most information from eachview, it is often better to use axle light instead ofambient light. By defining a point light source at theeyepoint, every viewable point on the object will re-ceive light and thus even hea vily-shadowed sections ofthe object will reveal information about themselves.

    4 . 1 N o r m a l A p p r o x i m a t i o nOne reason fractal lines, such as the border of/C, areso interesting is that they are nondifferentiable. Theslope a t any point is undefined because closer exam-ination shows that the point has different surround-ings. Hence, when expanded to surfaces, 3-D fractalsurfaces are nondifferentiable and thus have no exactnormal defined.

    In order to realistically render these surfaces ashading model must be used which requires the defi-nition of a surface normal. Normals ma y be approx-imated by examining a point's relationship with itssurroundings. Two approximations have been foundto work quite well: Z-buffer neighbors, previously dis-cussed in [14], and the gradient.4 .1 .1 Z-buffer Neigh borsAs shown in [14], the surface normal of a fractal sur-face may be approximated as the cross product oftwo vectors embedde d in the surface. Given a bufferof visible z-values Z we can define three points

    x = { ~ , 0 , z ~ +~ , ~ - z ~ , ~ } (1 2 )Y = { 0 , e , z ~ , v + c - z ~ , u ] (1 3)0 -= { 0 , 0 , Z ~ , y - Z z , ~ } ( 14 )

    where e is the width of an element in the z-buffer.The surface normal may then be approximated as thenormal of the plane defined by these thre e points.4 .1 .2 Grad ie n t Co mp u ta t io nThe previous method is a useful normal determina-tion tool if a Z-buffer is maint aine d during rendering.Ray tracing does not require a Z-buffer so a normal

    292

  • 8/4/2019 Ray Tracing Deterministic 3-D Fractals

    5/8

    ~ Computer Graphics, Volume 23, Number 3, Ju ly 1989

    approxima tion met hod using a single point in 3-spacewould be more useful.This can be accomplished by computing the gradi-

    ent of a point on the surface. The gradie nt may becomputed in a 3-D density map asNz = D~+c,u , z - D=-e,u , zNy = D=,y+~,z - D~,y-e , zN z = D =, y , z+e -D ~ , , y , z - e 0 5 )

    where D=,y,z is the density at the point x, y, z.The density function of a deterministic fractal is de-

    fined on its exterior and can be any continuous func-tion based loosely on the distance to the set. Twouseful functions are the potent ial G 0 and the esti-mate d distance d 0. The la tter s hould be used whenpossible since it is more closely associated with theactual distance although the former works when adistance estimate is not defined.Other gradient functions may be defined based onthe number of samples taken. The 6-point gradientmay be augmented by adding samples from pointssharing edges producing an 18-point gradient. Byincluding points sharing corners, a 26-point gradientresults.4 . 2 C l a r i t ySince these objects are fractal, they should revealmore detail when closely inspected. However, if theminimum ray increment e is constant, the surfaceswill not reveal a finer structur e when examined. Avariable-resolution syste m is required such tha t closersections of the object are defined at higher resolutionsas suggested in [2].

    One method of increasing the depth resolution isto set c to a function of distance from the eye. Theclarity funct ion P~,6 is defined

    r ( d ) = (16)given d, the Euclidean distance from the eye to thecurrent location on the ray,

    d = Ir a - rol. (17)The par ameter 6 is a depth-cue ing expone nt and o~ isan empirical proportion defining the depth res olutionof the object.

    Three effects are defined by varying the depth-cueing exponent. When the cla rity function is con-stant, inverse depth cueing occurs giving the appear-ance that farther objects have more detail. This mayseem useless but is quite adequate when viewing en-tire fractal objects from a distance. Linear clarity

    F 0 EffectConstant Inverse clarityLinear Even clarity

    Quadratic Exaggerated depthTable i: Depth-cueing exponents and their effects onrenderings

    gives an even clarity appearance with close objectsappearing as detailed as far. Quadr atic dept h cue-ing gives an exaggerated depth cue, blurring distantsurfaces.

    The c~ parameter is tuned to balance the equilib-riu m of order a nd chaos. Sett ing c~ too small willproduce a very noisy surface whereas a large o~ willwash out detail. Whe n defining o~ a good sta rtingpoint is to set it to an order of magnitude smallerthan the pixel width.

    Figure 3: The same Quater nion Julia set renderedtwice to show the difference between constant andlinear clarity.

    Thus, by setting= - ,0l) (18)

    a variable-resolution rendering system is constructedallowing small details of the surfaces to be investi-gated without overcomputing the other visible sur-faces. The increment e may also be used in the gra-dient computation as the distance along the axes tosample nearby densities.

    5 A p p l i c a t i o n t o O t h e r D e t e r -m i n i s t i c F r a c t a l s

    The quaternions are convenient to observe 3-D dy-namics since all three dimensions may be spanned

    293

  • 8/4/2019 Ray Tracing Deterministic 3-D Fractals

    6/8

    ~ ~ S I G G R A P H '89, Boston, 1 July-4August,1989by a single variable. Other 3-D spaces may be con-structed using multiple real or complex variables.Complex Julia sets form a 3-D object when they arestacked [14,12]. The cubic connectedness locus is afour-dimensional object when its two parameters arecomplex [5,17]. Also, Iterated Function Systems maybe three-dimensional if they are specified with affinetransformations of three real variables [1].5.1 Julia Set StacksA Julia set stack may be specified in 3-D as a slice(i.e. zeroset) of the four dimensional space C Cdefined by the two complex variables z and c fromeq. 1. By looking at the z-planes and vary ing somesingle-dimension function of c to define the third di-mension, the Julia sets may be stacked to form a 3-Dobject.

    There currently is no proven distance underesti-mate for this set although some images may be gen-erated using empirical formulas based on the Man-delbrot set distance estimate.

    Figure 4: Stack o f Juli a sets for Ira(c) = 0.

    5 .2 The Cubic Con nec tedness LocusThe cubic connectedness locus C is specified by thecubic function

    f a , b ( z ) = z a - 3 a 2 z + b , (19)where z is a complex variable a nd a, b are complexparameters. The para meter a is squared in the equa-tion because the two critical points of the equationare :t:a.

    Since a and b are both complex, a d o u b l e complexplane is constructed tha t houses the four-dimensionalcubic connectedness locus. The locus in this case con-sists of two components, C+ and C-, based on thestatus of the appropriate critical point.

    n aDefin it ion 4 C+ {a, b: nli~noo a, b( ) "-~ (:x~}nDef ini tio n 5 C- = {a, b: lim far ,b (--a) -74 CX)}

    A picture of this set may be found in [17], presum ablycreated using the technique outlined in [14].At the moment, a distance estimate does not existfor this set either. However, the cubic connectednesslocus has been proven to be connected [5] suggestingthat potential measurement and therefore distance es-timation may be possible.5 . 3 3 - D I t e r a t e d F u n c t i o n S y s t e m sThe most useful forms of deterministic fractals areIterated Function Systems or IFS's. An IFS can becreated to simula te almost any form using the CollageTheorem [1]. Then, given only the resulting set ofiterative equations, the form can be reconstructed.Recently, deterministic IFS Julia and Mandelbrotset functions have been discovered and their exteriorshave been categorized according to escape iterationsnot unlike their quadratic counterparts [1,19]. Thissuggests that perhaps potential and distance mea-surements can be made on these sets as well.

    6 C o m p a r i s o n w i t h B o u n d a r yT r a c k i n g

    The ray-tracing algorithm's predecessor, BoundaryTracking [14], generates 3-D Julia sets by first lo-cating a starting point on the boundary of the ob-ject and then recursively detecting its neighbors un-til the entire bou nda ry is scanned. To converge,this algorithm must constantly verify that neighbor-ing points have not been previously tested, which re-quires the efficient storage of all previously gen eratedpoints. Thus, the Bounda ry Tracking algorithm runsin object-space a nd therefore obj ect-ti me a.

    The main advantage of Boundary Tracking is thatobjects are only generated once and may be reposi-tioned as often as desired, requiring on ly re-rendering.Using the ray-tracing technique, repositioning of theobject requires re-generation of the viewable sec-tions of the object as well as re-rendering. However,since the image-time ray-tracin g algorithm generatesthese objects more efficiently than the object-timeBoundary Tracking algorithm, it is the best choicefor parameter-space animations such as varying/~ ineq. (1), 0 in eq. (5) or the k axis comp one nt of theviewable subspace of the quaternions.

    3Se [20] for a discussion of image-space vs. object-spaceand image-time vs. object-time.

    294

  • 8/4/2019 Ray Tracing Deterministic 3-D Fractals

    7/8

    @ ~ Com puter Graphics, Volume 23, Num ber 3, Ju ly 1989

    The main disadvantage of Boundary Tracking isthat it requires storage of every point in the object.This amo unt of storage can approach cubic propor-tions since the number of points defining a surface isO (r D ) , the resoluti on r o f the surface raised to itsfraetal dimension D [12]. The ray tracing technique,using image-space, requires exac tly r 2 + O(1) space 4,the storage resources of a graphics works tation framebuffer.

    Another problem with Boundary Tracking is con-sta nt resolution. However, a variable-resolutionBoundary Tracking algorithm was developed to cre-ate [16] by generating certain sections of the set al-ready known to be closely examined in the fly-byat higher resolutions. Althoug h Boundar y Trackingsaves computing time by generating the object onlyonce, the ray-tracing algorithm is the better choicefor fly-bys since its dyna mic resolution allows a morerealistic inspection of the surface.Finally, ray tracing allows certain special effectssuch as reflections and refractions. The former pro-duces the interesting effect of revealing only macro-scopic images of its environment; the subtle detailsare lost in the convoluted interreflections of the frac-tal surface. Refraction as well as simple trans paren cyshould be avoided until a reliable internal distance es-timate is developed to prevent minimum incrementsin the interior of the sets.

    7 C o n c l u s i o nThe research on this project began as a method ofvisualizing quaternion Julia sets in 3-D using theresources of a common computer graphics worksta-tion. The first attempt relied on the Inverse Iterationmethod of generating Julia sets [11,18] which oper-ated in image-space and object-time but producedless tha n sa tisfacto ry results due to in herent problemsof the process itself magnified by the addition of anextra dimension [8]. The ray-tracing solution, beingforward iterative, does not experience the problemsof the Inverse Iteration method while still requiringonly image-space.7 . 1 P a r a l l e l I m p l e m e n t a t i o nThe current implementation of the algorithm runs onan AT&T Pixel Machine with 64 parallel processorseach running at about 10 MFLOPS. The architecture

    4If the gradient normal approximation method is used, aZ-buffer is not required. The only other considerable amountof memory used is a small array the size of the maximum al-lowable iteration count used to optimize the computation ofthe distance estimate [17].

    of the Pixel Machine, each processor connected onlyto its portion of the frame buffer, dictates t hat image-space, image-time algorithms will run at the mostoptimal level.

    The ray-tracing code is replicated into 64 equiva-lent programs r unnin g simul taneou sly as if in a race,each generating and rendering its ~4th of the image.Of course, the first operation o f each progr am is tofind out which pixel with respect to the entire framebuffer it is working on.

    Currentl y, full screen images (1280 1024) takeabout an hour to generate. When positioning the ob-ject, lower image resolutions are used t o create a moreinteractive enviro nment. Also, reducing the depthresolution will increase the speed of the algorithm.

    7 , 2 A c k n o w l e d g m e n t sThe authors wish to thank Alan Norton and CharlieGunn for their communications, AT~T for its ma-jor grant to the Electronic Visualization Laboratorywhich supported this research, Maggie Rawlings forher artistic advice with the illustrations, and TomDeFanti and Maxine Brown for their assistance withthe manuscrip t. This research would not have beenpossible without the efforts of the faculty, staff andstudents of the Electronic Visualization Laboratory.

    R e f e r e n c e s[1] Barnsley, M. F. Fractals Everywhere. AcademicPress, New York, 1988.[2] Barr, A. H. Ray tracing deformed surfaces.

    Computer Graphics 20, 4 (1986), 287-296.[3] Blanchard, P. Disconnected Julia sets. ChaoticDynamics and Fracta l s (1986), 181-201.[ 4 ] Bouville, C.intersection.

    45-51.Bounding ellipsoids for ray-fractalComputer Graphics 19, 3 (1985),

    Branner, B., and Hubbard, J. It. The iterationof cubic polynomials, Par t h Th e global topologyof the parameter space. Acta Mathemat ica 160 ,3 (1988), 143-206.

    [6] Fisher, Y. The Sc ience o f Fracta l Images .Springer-Verlag, New York, 1988, ch. Exploringthe Mandelbrot Set, pp. -287-296.

    [ 7 1 Hamilton, W. R. Elements o f Quatern ious , 3rded. Vol. 1-2, Chelsea Publishing Company , NewYork, 1969.

    295

  • 8/4/2019 Ray Tracing Deterministic 3-D Fractals

    8/8

    ~ ~ S IG G R A P H '89, Boston,31 July-4August,1989

    [8] Hart, J. C. Image Space Algorithms for Visu-alizing Quaternion Julia Sets. Master ' s thes is ,Univ ersi ty of I l l inois at Chicago , 1989.

    [9] Kaj iya , J . T . New techniques for r ay t r ac ingproced ura l ly def ined objec ts . A CM Transactionson Graphics 2, 3 (1983), 161-181.

    [10] Levoy, M. Display of sur faces f rom volum e da ta .IEEE Computer Graphics and Applications 8, 3(1988) , 29-37.[11] Man delbrot , B. B. Prac ta l aspec ts of the i te ra -

    t ion of z ~ Az(1 - z) for com plex A and z. An-nals New York Academy of Sciences 357 (1980),249-259.[12] Mandelbrot , B. B. The Fractal Geometry o f Na-

    ture, 2nd ed. Freem an, San Franc isco, 1982.[13] Milnor, J. Computers in Geometry and Topol-

    ogy . Marcel Dekker , Inc. , 1989, ch. Self-s imi la r i ty and ha i r iness in the Mandelbrot se t ,pp. 211-257.

    [14] Nor ton, V. A. Gene ra t ion a nd rende r ing of geo-metr ic f rac ta ls in 3-D. Computer Graphics 16, 3(1982) , 61-67.

    [15] Nor ton, V. A. Jul ia se ts in the qua te rnions . Toappear in Computers and Graphics.

    [16] N or ton, V. A. , and M el ton, E . A c lose enco unte rin t he f ou r th d ime ns ion . SI GGRAPt t V ideo Re-view 39 (1988), 30.

    [17] Peitg en, H. The Science of Fractal Images.Springer-Verlag, New York, 1988, ch. Fantast icDete rminis t ic Frac ta ls , pp. 169-218.

    [18] Pe i tgen, H. , and Richte r , P .H. The Beauty ofFractals. Springer-Verlag, New York, 1986.

    [19] Prus inkiewicz , P . , and Sandness , G . Koch curveas a t t r ac tor s and repe l le r s . [EEE ComputerGraphics and Applications 8, 6 (1988), 26-40.

    [20] Suthe r land, I ., Sproul , R. , and Schum acker , R.A chara c te r iza t ion of ten hidden -sur face a lgo-r i t hms . Computing Surveys 6, 1 (1974), 1-55.

    Figure 5: A dendr i t ic qua te rnion Jul ia se t , se t in asea whose waves a re per iodic func t ion s of the dis tancee s t ima te .

    F igure 6: Close up of the sur face of the q ua te rn ionJulia set shown in f ig. 3.

    F igure 7: Close up of an in te res t ing sec t ion of theJulia set for 0 = 110 29 6