@ ~
Com puter Graphics, Volume 23, Num ber 3, Ju ly 1989
Ray Tracing Deterministic 3-D Fractals J o h n C . H a r t * , D a n i e l J . S a n d i n *, *, L o u i s H . K a u f f m a n *Electronic Visualization Laboratory tDept, of Mathemat ics, Statistics and Computer Scien Science ce University of Illinois Illinois at Chicago
Abstract As shown in 1982, Julia sets of quadratic functions as well as many other deterministic fractals exist in spaces spaces of higher dimensionalit y tha n the complex plane. Originally a bounda ry-t racki ng algorit hm was used to view these structures but required a large amou nt of storage space space to operate. By ray tracing these objects, the st orage facilities of a graphics workstati on frame buffer are are sufficient. A short discussi discussion on of a specific set of 3-D deterministic fractals precedes a full description of a ray-tracing algorithm applied to these objects. A comparison with the boundarytracking method and applications to other 3-D deterministic fractals are also included. CR Categories and Subject Descriptors: 1.3.7 [Computer Graphics] Graphics]:: Three Dimensional Graphics and Realism -- Color, shading, shadowing and texture. Ge ne ra l Te rms : Alg Algori orithm thms, s, The Theory. ory. A d d i t i o n a l K e y w o r d s a n d P h r a s e s : f ra ra ct ct al al , quaternions, distance estimate, ray tracing, surface determination.
1
One such method is ray tracing, but this method is prohibitively slow unless an efficient ray-surface intersection compu tatio n is is used. used. While these functions are available for for Euclidean surfaces, surfaces, t hey do not exist (yet) for fractal ones. However, using an unu sual construction called the unbounding volume, made possible by a recent advance in the study of dynamics, swift ray tracing of these dete rministic fractal objects is possible. Prior to the description of the algorithm, a specific family of 3-D deterministic fractals, quaternion Julia sets, is is outlined. The generati on algorith m is then developed using this family as example. example. Rendering procedures specific to fractal surfaces are then discussed. cusse d. Finally, the alg orithm is compared with its its predecessor [14] and applications to other families of 3-D deterministic fractal objects are shown.
Introduction
Computer graphics has greatly aided the investigation of the dynamic s of iterati ve functions. Stan-
Permission Permissio n to copy withoutfee all or par partt of this thi s materialis granted provided provide d that the copies are not madeor distrib distributed utedfor direct commercialadvantage, he AC ACM Mcopy copyright rightnotice noticeand the title tit le of the publicationand its date da te appear, appear, and and notice is given hat copying s by permission permiss ion of the Associati Association onfor Comput Computing ingMachinery. Machinery.To To copy otherwise, or to republish, requires a fee and/o and/orrspecific permission permission
©1989
dard 2-D frame buffer techniques have provided sufficient visual information about the structures since most of the research has concentrated on the dynamics of complex variables. However, recent investigations into higher-dimensionM dynamical systems [14,15, [14, 15,3,5, 3,5,17] 17] h ave shown th e nee d for 3-D visualization tools that will give researchers a better understanding of these objects.
ACM-O-89791-312-4/89/O07/0289
$00.75
Dy na
ics
in
the
Quater-
nions The dynamics of quadratic functions have been observed main ly in the complex plane. However, as shown first in 1982 [14], they exist in the 4-D space of the quaternio ns as well. A discussion of the spe cial properties of Julia sets in the q uaternions, for which the ray-tracing algorithm was developed to visualize, is preceded by an introduction to dynamics and quaternion algebra.
289
89, Boston, 31 July-4 August, 1989
2.1
Dynam ics
of Quadratic
Functions
T h e e x a m p l e s u s e d i n t h is i s p a p e r a r e d e r iv iv e d f r o m t h e quadratic function f
(z) =
+
l ir ir a f ~ ( z ) 7 4 o o
rl---* Cx:)
Definition 2 .h4 =
:
~noo ~n oo ; (zc) -74 -74 oo, f~( zc ) ----- 0}
N o t e t h a t ¢ i s t h e c r i t ic ic a l p o i n t o f t h e f u n c t i o n . The re is only one critical point o f eq. (1) and it is a l w a y s 0 . S e v e r a l c r i t ic 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 nom ials of degree 3 or greater. The interesting property that Julia and Mandelbro t sets share is that they are both frac tal [12] possessing detail at ev ery level of magnification. 2.2
The
Quaternions
The values z and p are com mo nly defined as real o r co c o 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 in e d in any algebraic system closed under addition and mu ltiplication. One such syste m, the quatern ions [7] possesses the additionM benefit of having four dimensions.
is a f o u r - t u p l e D e f i n i t i o n 3 A q u a t e r n i o n v a l u e q is consisting o f one real part and three imagina ries q = ql + qii + qjj + qkk w h e r e i~ i~ j ~ k a r e i m a g i n a r y u n i t s ,
i
= j2 = k: = -1 .
(2)
Algebraic operations can be defined in the quatern i o ns n s 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 ly n o m i als of three variables i, j, k. For exam ple, the coe f fi f i ci c i e nt 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 y b 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 ic i e n ts ts . 29
ij = k; jk =
i; ki = j,
(1)
where z is the iterated variable and p is a constant param eter o f the equation. T h e d y n a m i c s o f a fu fu n c t i o n f a r e e x p r e s s e d a s t h e n - 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 ti a l v a l u e z . T h e r e s u l t is 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 e confused with simply raising the result of f ( z ) to the nth power. The resulting value f n ( z ) is used to classify the initial point z depending on its attraction to infinity. T w o s e ts t s 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 l a s s if i f i ca c a t io io n . T h e f il i l le le d -i -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 . e f i n i t i o n 1 / C~ C~ , = { z :
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 to p o l y n o mial multiplication but with the special cases
ji =-k ;
kj
ik =-j,
r e v e a li l i n g a n u n f o r t u n a t e s i d e e f fe fe c t o f t h e q u a t e r nions: noncommutative multiplication. 2.3
Julia
Sets
in the
Q u a t e r n io n s
By using the rules of quate rnion algebra, eq. (1) can b e i te 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 e c o m p u t e d . S i n c e t h e c o m p l e x p la la n e i s a s u b s e t o f t 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 is t i n the quaternions but often have extensions outside the c o m p l e x p l a n e . I n f ac a c t , if if ~ h a s a n i m a g i n a r y c o m p o nent, then the extensions are nontrivial, containing more information than their complex subsets. A s u b s e t o f th t h e s e e x t e n s i o n s c a n b e v i s u a li li z e d i n 3-D by examining the intersection of the 4-space with a 3 - s p a ce c e s u c h as a s t h a t s p a n n e d b y 1 , i , j a t O k. k. I t s 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 (1 ) i the 3-space sp ann ed by i t j, k at 0 are always concentric spheres centered at the origin [8]. An interesting property about quaternion Julia sets is that given two complex Julia sets differing only by a rotation about the origin, their supersets in 3-D m a y h a v e c o m p l e t e l y d i ff f f e r en en t s h a p e s . T h e r o t a t i o n of the Julia set in the complex plane is compu ted by i n c o rp r p o r a ti ti n g t h e h o m e o m o r p h i s m
g0(z) =
(5)
into the iterated function such that
L,,e(z) = w h i c h s u f f ic 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 e positive imaginary axis and so forth in a counterc l o c kw 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 x plane. The resulting Julia set is merely rotat ed in t 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 en t l y i n t h e quaternions since its intersection with the imaginary 3-space is changed. See [15,8] for details.
3
Ray
Tracing
3-D
Julia
Sets
R a y t r a c in i n g i s o n e o f t h e m o r e r e a l is i s t ic ic m e t h o d s o f r e n d e r in i n 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 o r h id id d e n s u r faces and self-shadowing, it also provides a method f o r d i s p l a y i n g r e f le 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 c t in in g
~ Computer Graphi Graphics, cs, Volume 23, 23, Numb Number er 3, July 198
estimated in determine if The low lower er ternal to the
time proportional to the time it takes to the point is external to the object. bound of the distance from a poi nt exdeterministic fractal set is given as
d(z) =
sinhG(z )
2ea(')lG'(z)l
logG(z),
(7)
where G(z) is the electrostatic potential at point z an Gr(z) is the gradi ent of this potential. For the quadratic family, the approximation
Figure 1: A quaternion Julia set before and after a quarter turn in the complex plane. their boundaries dur ing a ray-casting step and rendering the surfaces by allowing the ray to be deflect deflected ed off to a li ght source. A naive method to ray trace a quaternion Julia set is to sample each point at a given resolution along each ray. This is not an entirely ridiculous ridiculous meth od since it is the basis of some volume tric render ing algorithms [10]. However, it is not practical when applied to fractal objects since each point's classification may rely on a large large number of function iterations. With the use of a new ray-tracing mechanism, the amount of sample points per ray is greatly reduced. 3.1
Unbounding
Volumes
One method of increasing the speed of ray tracing is the use of bounding volumes. A bounding volume, usually a sphere or ellipsoid, envelopes several surfaces such that if a ray does not intersect the bounding volume it does not intersect the surfaces corttairted in it. Bounding volumes are quite useful in hastening r ay tracing of stochastically-defined fractal surfaces [9 [9,4 ,4]. ]. Unfortunately their application to deterministic fractals has not been as successful. successful. However, with the discovery of the distance estimate, we can increase the speed of ray tracing deterministic fractals using
uubounding volumes.
Unbounding volumes are defined as volumes that do no contain any part of the object. Thus, given any point outside the object, the ideal bounding volume is the largest volume that does not intersect the object centered at the point. If this volume is a sphere then its radius is is the distance to the object. Given a point and a deterministic fractal object, its exact distance can not be computed efficiently but it can be
d(z) =. If' (z (z)l )l lo gf n( z) 21/'"(Z)I
(8
is sufficiently accurate [13 [13,6]. ,6]. See [17] [17] for the computation of f'(z). By using a distance estimate we can define an unbounding volume of a deterministic fractal set as a sphere tha t is guarantee d not to intersec t 1 nor con tain the set in question. Since the distance estimate may be much smaller than the distance along the ray to the object, several repeated distance calculations must be made as the ray is traversed from eye to surface.
3.2
Ray
Traversal
Given the set of unboundi ng spheres spheres completely sursurrounding an object, a ray is traversed from the eye through the projection plane to the object, testing and incrementing at each point along the ray. By incrementing 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 surface, the unboundi ng spheres spheres get smaller and smaller. To hasten convergence, a small number c is defined as the mini mum ray increment. This increment should should be set to give the best depth resolution with respect to the resolution of the projection plane. The ray traversal equation may be stated inductively given the eye position r0 and a point in the projection plane p~,u as rn+l = r, + mm ax d( r, ),
.
where m is a unit slope vector of the ray m -
P~'~ - r0 IP=,y - r0l
(10)
1W i t h t h e e x c e p t i o n o f a s i n g l e p o i n t . 291
'89, Boston, 31 July-4 August, 1989
ro
~i
r2
¢ r3 r4 r5
Figure 2: 2: Ray trave rsal using unboundi ng spheres. spheres.
3 .3 .3
Thin Ob jects
Often t he extensions of K: K: into 3-D are very thin, such as when when ~ is a dendrite. This creates the possibility that incrementing by ~ may traverse the ray com pletely through the object. This problem has also had manifestations in the 2-D study of these images such as the complex Mandelbrot set. To show th at the "islands" off the main contine nt of .M are connecte d to it, the Mandelbrot set may be defi defined ned computationally as .A4,, = {z .A4
d ( z ) < e}
(11)
where d 0 is the dis tanc e esti mat e as defined in eq. (7) The r esult is the "hairy" Maudel brot set [1 ] revealing its dendritic structures2. structures2. A similar technique is used to ray trace dendritic sheets in 3-D 3-D.. By ter mina ting ray traversal when the distance is less than the minimum ray increment, thickness is added to the object while maintaining its structure and detail.
3 .4 .4
Avo iding Bad Distance Estima tes
When the approximation to eq. (7) is used, it is inaccurate when z is far from the set. This can result in exaggerated distance estimates which could possibly push the ray far into the inter ior of the object. To avoid these bad estimat es a single bounding volvolume may be used to contai n the frac tal set if it can be bounded.. Another alternative is to set a maximum bounded distance to increment along the ray.
4
Rend ering
Fractal
Surfaces
The determinist ic family of fractals has provided computer graphics with the most complicated borders. 2 N o t e t h a t t h e s e hairs may be seen very clearly as the set
.Me- 2v[, 292
The surfac es defined by these bor ders in 3-D, 3-D, al though quite chaotic, often reveal the structure of the object. A proper rendering of a fractal surface should should reveal its order while hinting at its chaos. Since the surface of a fractal is infinitely convoluted, its normal can only be approximated. The approximated normal signifies the structure of the surface while while at finer resolutions the light is scatte red in all directions. directions. Thus the surfaces should be diffusely shaded using using the La mberti an model Also, to achieve the most information from each view, it is often better to use axle light instead of ambient light. By defining a point light source at the eyepoint, every viewable point on the object will receivee light and thus even hea vily-shadowed sections ceiv sections of the object will reveal information about themselves. 4.1
Normal
Approximation
One reason fractal lines, such as the border of/C, are so interesting is that they are nondifferentiable. The slope any point is undefined because closer examination shows that the point has different surroundings. ing s. Hence Hence,, when expanded to surfaces, 3-D fractal surfaces are nondifferentiable and thus have no exact normal defined. In order to realistically render these surfaces a shading model must be used which requires the definition of a surface normal. Normals ma y be approximated by examining a point's relationship with its surroundings. Two approximations have been found to work quite well: Z-buffer neighbors, previ ously discussed in [14], and the gradient. 4 .1 .1 .1 .1
Z-buffer Neigh bors
As shown in [14], the surface normal of a fractal surface may be approximated as the cross product of two vectors vectors embedde d in the surface. Given a buffer of visible z-values Z we can define three points x
=
{~, 0, z~+~,~ - z~,~ }
Y
=
{0,e,z~ ,v+c- z~,u]
0
=
{0,0, Z~ ,y- Zz ,~ }
(12) 13 ( 14 14 )
where e is the width of an element in the z-buffer. The surface normal may then be approximated as the normal of the plane defined by these thre e points. 4 .1 .1 .2 .2
Gradie nt Computat ion
The previous method is a useful normal determination tool if a Z-buffer Z-buffer is is maint aine d during rendering. Ray tracing does not require a Z-buffer so a normal
~
approxima tion met hod using a single point in 3-spac 3-spac would be more useful. This can be accomplished by computing the gradient of a point on the surface. The gradie nt may be computed in a 3-D density map as Nz = D~+c,u,z - D=-e,u,z
Computer Com puter Graphics, Volum Volume e 23, Numb Number er 3, Ju ly 1989
F0 Constant Linear Quadratic
Effect Inverse Inve rse clarity Even clarity Exaggerated depth
Table i: Depth-cueing exponents and their effects on renderings
Ny = D=,y+~,z - D~,y-e,z Nz = D=,y,z+e -D~,,y,z-e
where D=,y,z is the density at the point x, y, z. The density function of a deterministic fractal is defined on its exterior and can be any continuous function based loosely loosely on the distance to the set. Two useful functions are the potent ial G 0 and the estimate d distance d 0. The la tter s hould be used when when possible since it is more closely associated with the actual distance although the former works when a distance estimate is not defined. Other gradient functions may be defined based on the number of samples taken. The 6-point gradient may be augmented by adding samples from points sharing edges producing an 18-point 18-point gradient. By including points sharing corners, a 26-point gradient results. 4.2
gives an even clarity appearance with close objects appearing as detailed as far. Quadr atic dept h cuecueing gives an exaggerated depth cue, blurring distant surfaces. The c~ parameter is tuned to balance the equilibriu m of order a nd chaos. Sett ing c~ c~ too small will wash out detail. Whe n defining o~ a good sta rti ng point is to set it to an order of magnitude smaller than the pixel width.
Clarity
Since these objects are fractal, they should reveal more detail when closely inspected. Howev However, er, if the minimum ray increment e is constant, the surfaces willl not reveal a finer structur e when examined. wil variable-resolution syste m is required required such tha t clos closer er sections of the object are defined at higher resolutions as suggested in [2]. One method of increasing the depth resolution is to set c to a function of distance from the eye. The clarity funct ion P~,6 is defined
Thus, by setting
(16)
r(d) =
given d, the Euclidean distance from the eye to the current location on the ray, d = Ir a -
Figure 3: 3: The same Quater nion Julia set rendered twice to show the difference between constant and linear clarity.
rol.
(17)
The par ame ter 6 is a depth-cue ing expone nt and ~ is an empirical proportion defining the depth res olution of the object. Three effects are defined by varying the depthcueing exponent. When the cla rity function is con stant, inverse depth cueing occurs giving the appearance that farther objects have more detail. This may seem useless but is quite adequate when viewing entire fractal objects from a distance. Linear clarity
=
- ,0l)
(18)
a variable-resolution rendering system is constructed allowing small details of the surfaces to be investigated without overcomputing the other visible surfaces. The increment e may also be used the gradient computation as the distance along the axes to sample nearby densities.
Application ministic
to
Other
Deter-
Fractals
The quaternions are convenient to observe 3-D dynamics since all three dimensions may be spanned 29
~ ~ S I G G R A P H '89,Boston, 1 Ju July-4 ly-4August, August,1989 1989 by a single variable. Oth er 3-D spaces may be con structed using multiple real or complex variables. Complex Julia sets form a 3-D object when they are stack ed [14, [14,12] 12].. The cubic connect ednes s locus is is four-dimensional object when its two parameters are complex [5,17]. Also, Iterated Function Systems may be three-dimensional if they are specified with affine transformations of three real variables [1].
5.1
Julia Set Stacks
A Julia set stack may be specified in 3-D as a slice (i.e. (i. e. zeroset) of the four dimensional space C × defined by the two complex variables z and c from eq. 1. By looking at the z-planes and vary ing some single-dimension function of c to define the third dimension, the Julia sets may be stacked to form a 3-D object. There currently is no proven distance underestimate for this set although some images may be generated using empirical formulas based on the Mandelbrot set distance estimate.
D e f i n i t i o n 4 C+ C+
{a , b: nl nli~ i~no no a, b( n
) "-~ (:x (:x~} ~}
Def ini tio n 5 C- = {a, {a, b: lim far,b (--a) -7 -744 CX) A picture of this set may be found in [1 [17] 7],, presum ably created using the technique outlined in [14]. At the moment, a distance estimate does not exist for this set either. However, the cubic connectedness locus has been proven to be connected [5] suggesting that potential measurement and therefo therefore re distance esestimation may be possible. 5.3
3-D Iterated
Function
Systems
The most useful forms of deterministic fractals are Iterated Function Systems Systems or IFS's. An IFS can b created to simula te almost any form using the Collage Theorem [1]. Then, given only the resulting set of iterative equations, equations, the form can be reconstructed. Recently, deterministic IFS Julia and Mandelbrot set functions have been discov discovered ered and their exteriors have been categorized according to escape iterations not unlike their quadratic counterparts [1,19]. This suggests that perhaps potential and distance measurements can be made on these sets as well.
6
Com parison
with
Bounda ry
Tracking
Figure 4: Stack o f Juli a sets for Ira(c) = 0.
5 .2 .2
The Cubic Con nectedness Locus
The cubic connectedness locus C is specified by the cubic function fa,b (z)
= z a - 3a 2z + b,
(19)
where z is a compl ex variable a nd a, b are compl ex parameters. The para meter a is squared in the equation because the two critical points of the equation are :t:a. Since a and b are both complex, a d o u b l e complex plane is constructed tha t houses the four-dimensional four-dimensional cubic connectedness locus. The locus in this case conconsists of two components, C+ and C-, based on the status of the appropriate crit critical ical point. 294
The ray-tracing algorithm's predecessor, Boundary Tracking [14], generates 3-D Julia sets by first lolocating a starting point on the boundary of the object and then recursively detecting its neighbors until the entire bou nda ry is scanned. To converge, this algorithm must constantly verify that neighboring points have not been previously tested, which requires the effici efficient ent storage of all all previously gen erated points. Thus, the Bounda ry Tracking algorithm runs in object-space a nd therefore obj ect-ti me a. The main advantage of Boundary Tracking is that objects are only generated once and may be repositioned as often as desired, requiring on ly re-rendering. Using Usi ng the ray-tracing technique, repositioning of the object requires re-generation of the viewable sections of the object as well well as re-rendering. Howev However, er, sincee the image-ti sinc image-time me ray-tracin g algorithm generates these objects more efficient efficiently ly than the object-time Boundary Tracking algorithm, it is the best choice for parameter-space parameter-space animations such as varying/~ in eq. (1), 0 in eq. eq. (5) or the k axis comp one nt of the viewable subspace of the quaternions. 3S¢e [20] [20] for a discussion of image-space vs. object-space and image-time vs. object-time. o bject-time.
@ ~
The main disadvantage of Boundary Tracking is that it requires storage of every point in the object. This amo unt of storage can approach cubic proportions since the number of points defining a surface is O ( r D ) , the resoluti on r o f the surface raised to its fraetal dimension D [12 [12]. ]. The ray tracing technique, using image-spa ce, requires exac tly r 2 + O(1) space 4, the storage resources of a graphics works tation frame buffer. Another problem with Boundary Tracking is consta nt resolution. However, Howeve r, a variable-resolution Boundary Tracking algorithm was developed to create [16] by generating certain sections of the set already known to be closely examined in the fly-by at higher resolutions. Althoug h Boundar y Tracking saves computing time by generating the object only once, the ray-tracing algorithm is the better choice for fly-bys sinc sincee its dyna mic resolution allow allowss a more realistic inspection of the surface Finally, ray tracing allows certain special effects such as reflectio reflections ns and refractions. The former produces the interesting effect of revealing only macroscopic images of its environment; the subtle details are lost in the convoluted interreflections of the fractal surface. surface. Refraction as well as simple simple trans paren cy should be avoided until a reliable internal distance estimate is developed to prevent minimum increments in the interior of the sets.
7
Co nclusion
The research on this project began as a method of visualizing quaternion Julia sets in 3-D using the resources of a common computer graphics workstation. The first attempt relied on the Inverse Iteration method of generating Julia sets [11,18] which operated in image-space and object-time but produced lesss tha n sa tisfacto ry results due to in herent problems les of the process itself magnified by the addition of an extra dimension [8]. The ray-tracing solution, being forward iterative, does not experience the problems of the Inverse Iteration method while still requiring only image-space. 7.1
Parallel
Implementation
The current implementation of the algorithm runs on an AT&T Pixel Machine with 64 parallel processors each running at about 0 MFLOPS. The architecture 4If the gradient grad ient normal approximation meth od is used, a Z-buffer is not required. The only onl y other considerable amount of memory used is a small array the size of the maximum allowable iteration count used to optimize the computation of th distance estimate [1 [17] 7]
Com puter Graphics,Volum e 23, Num ber 3, Ju ly 1989
of the Pixel Machine, each processor connected only to its portion of the frame buffer, buffer, dictates t hat imagespace, image-time algorithms will run at the most optimal lev level. el. The ray-tracing code is replicated into 64 equivalent programs r unnin g simul taneou sly as if in a race, each generating and rendering its ~4th of the image. Of course, course, the first operation o f each progr am is to find out which pixel with respect to the entire frame buffer it is working on. Curr entl y, full screen images (1 (1280 280 × 1024) take about an hour to generate. When positioning the object, low lower er image resolutions are used t o create a more interactive enviro nment. Also Also,, reducing the depth resolution will increase the speed of the algorithm. 7,2
Acknowledgments
The authors wish to thank Alan Norton and Charlie Gunn for their communications, AT~T for its major grant to the Electronic Visualization Laboratory which supported this research, Maggie Rawlings for her artistic advice with the illustrations, and Tom DeFanti and Maxine Brown for their assistance with the manuscrip t. This research research would not have been possible without the efforts of the faculty, staff and students of the the Electron Electronic ic Visualization Visualization Laboratory.
References [1] Barnsley, M. F. Fractals Everywhere. Academic Press, New York, 1988. ] Barr, A. H. Ray traci ng deformed surfaces. Computer Graphics 20, 4 (1986), 287-296. [3] Blanchard, P. Disconnected Julia sets. Chaotic D y n a m i c s a n d F r a c t a l s (1986), 181-201. Bouville, C. Bounding ellipsoids for ray-fractal intersection. Computer Graphics 19, 3 (1985), 45-51. Branner, B., and Hubbard, J. It. The iteration of cubic polynomials, Par t h Th e global topology of the parameter space. A c t a M a t h e m a t i c a 1 6 0 , 3 (1988), 1 43-206
[6] Fisher, Y.
The Science of Fractal Images. Springer-Verlag, New York, 1988, ch. Exploring the Mandelbrot Set, pp. -287-296. Hamilton, W. R. E l e m e n t s o f Q u a t e r n i o u s , 3rd ed. Vo Vol. l. 1-2, Chelsea Publishing Company , New York, 1969. 29
IG
H
,
31 July-4August,1989
[8] Hart, J. C. Image Space Algorithms for Visualizing Quaternion Julia Sets. M a s t e r ' s t h e s i s , Univ ersity of Illinois at Chicago , 1989. 9 ] K a j i y a , J . T . N e w t e c h n i q u e s fo r r a y t r a c i n g p r o c e d u r a l l y d e f i n e d o b j e c t s . A CM Transactions on Graphics 2, 3 (1983), 161-181. [ 10 ] L e v o y, M . D i s p l a y o f s u r fa c e s f r o m v o l u m e d a t a . IEEE Computer Graphics and Applications 8, 3 (1988), 29-37. [ 11 ] M a n d e l b r o t , B . B . P r a c t a l a s p e c t s o f t h e i t e r a tion of z ~ Az(1 - z) for com plex A and z. Annals New York Academy of Sciences 357 (1980), 249-259. [12] Mandelbrot, B. B. The Fractal Geometry o f Nature, 2 n d e d . F r e e m a n , S a n F r a n c i s c o , 1 98 2
Figure 5: A dendritic quaternion Julia set, set in a s e a w h o s e w a v e s a re p e r i o d i c f u n c t i o n s o f t h e d i s t a n c e estimate.
[13] Milnor, J. Computers in Geometry and TopolMarcel Dekker, Inc., 1989, ch. Selfogy. similarity and hairiness in the Mandelbrot set, pp. 211-257. 1 4] N o r t o n , V . A . G e n e r a t i o n a n d r e n d e r i n g o f g e o m e t r i c f r a c t a l s i n 3 - D . Computer Graphics 16, 3 (1982), 61-67. [15] Norton, V. A. Julia sets in the quaternions. To a p p e a r i n Computers and Graphics. 1 6] N o r t o n , V . A . , a n d M e l t o n , E . A c lo s e e n c o u n t e r in the fourth dimension. SIGGRAPtt Video Review 39 (1988), 30.
The Science of Fractal Images. [17] Peitg en, H. Springer-Verlag, New York, 1988, ch. Fantastic Deterministic Fractals, pp. 169-218.
Figure 6: Close up of the surface of the q uatern ion Julia set shown in fig. 3.
[ 1 8 ] P e i t g e n , H . , a n d R i c h t e r , P . H . The Beauty of Fractals. Springer-Verlag, New York, 1986. [19] Prusinkiewicz, P., and Sandness, G. Koch curve as attractors and repellers. [EEE Computer Graphics and Applications 8, 6 (1988), 26-40. [ 20 ] S u t h e r l a n d , I ., S p r o u l , R . , a n d S c h u m a c k e r , R . A c h a r a c t e r i z a t i o n o f t e n h i d d e n - s u r f a c e a lg o r i t h m s . Computing Surveys 6, 1 (1974), 1-55.
Figure 7: Close up of an interesting section of the Julia set for 0 = 110 29