There are three fundamental issues that must be addressed to render textures First a texture must be acquired Possibilities include creating a texture procedurally painting a texture or digitally scanning a texture from a photograph Next we need to ID: 36279 Download Pdf

Tags :Download Pdf - The PPT/PDF document "Introduction Texture mapping was introdu..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.

342 views

379 views

322 views

311 views

310 views

278 views

361 views

375 views

## Presentation on theme: "Introduction Texture mapping was introduced in Catmull as a method of adding to the visual richness of a computer generated image without adding geometry"— Presentation transcript

Texture mapping was introduced in [Catmull 74] as a method ofadding geometry. There are three fundamental issues that must beaddressed to render textures. First, a texture must be acquired.Possibilities include creating a texture procedurally, painting atexture, or digitally scanning a texture from a photograph. Next, wemodel to be textured. Defining this mapping should not require agreat deal of a userÕs time. This mapping should not noticeablydistort the texture. Finally, we require a method of sampling the[Heckbert 89]. These three issues are often interrelated, and this istrue of the techniques in this paper.also introduces a new method for fitting a texture to a surface. Eitherof these techniques can be used separately, but the examples giventextures on complex models. After a discussion of previous texturingreaction-diffusion. This mechanism, firstdescribed in [Turing 52], shows how two or more chemicals thatpatterns. A number of researchers have shown how simple patternsof spots and stripes can be created by reaction-diffusion systems[Bard 81; Murray 81; Meinhardt 82]. We begin by introducing thebasics of how a reaction-diffusion system can form simple patterns.We then introduce new results that show how more complex patternschemical system and further refined by later chemical systems. Thisand the multiple-width stripes found on some fish and snakes. Thesean objectÕs surface using traditional techniques, but there aresynthesis. The approach uses relaxation to evenly distribute pointsacross the modelÕs surface and then divides the surface into cellscentered at these points. We can simulate reaction-diffusion systemsdirectly on this mesh to create textures. Because there is no mappingreaction-diffusion and demonstrates how thesegeometry of a given surface. Reaction-diffusion is a process in whichstripes. Biologists and mathematicians have explored the patternsmade by several reaction-diffusion systems. We extend the range ofpatterns found on giraffes. In addition, this paper introduces amethod by which reaction-diffusion textures are created to match thegeometry of an arbitrary polyhedral surface. This is accomplished bydiffusion process directly on this mesh. This avoids the often difficulttask of assigning texture coordinates to a complex surface. A meshconstructing their Voronoi regions. Textures are rendered directlysurface color at a given position. Such textures can also be used as I.3.3 [Computer Graphics]:Picture/Image Generation; I.3.5 [Computer Graphics]: Three-Dimensional Graphics and Realism - Color, shading, shadowing andtexture; J.3 [Life and Medical Sciences]: Biology. Reaction-diffusion, biologicalGenerating Textures on Arbitrary Surfaces Using Reaction-Diffusion coordinates to polygons and there is no distortion of the textures. At grid, as are mosttextures. It is likely that other texture generation methods in additionto reaction-diffusion could also make use of such a mesh. Images ofartifacts or visual indication of the underlying mesh structure. TheseTheseThe three steps involved in texturing a model as in Figures 4, 5 and6 are: (1) generate a mesh that fits the polyhedral model, (2) simulatea reaction-diffusion system on the mesh (solve a partial differentialArtificial Texture Synthesisvarious functions to generate textures. Gardner introduced the ideaof summing a small number of sine waves of different periods, phasesand amplitudes to create a texture [Gardner 85]. Pure sine wavesperiod waves to alter the shape of the higher period waves. Thissuch as those of clouds and trees. Perlin uses band-limited noise asthe basic function from which to construct textures [Perlin 85]. Heways. [Lewis 89] describes several methods for generating isotropicnoise functions to be used for texture synthesis. A stunning examplepatterns of Jupiter in the movie 2010 [Yaeger and Upson 86].in [Witkin and Kass 91]. They show the importance of anisotropy byreaction-diffusion. In addition, they demonstrate how reaction-textures that may be created this way are limitless. An unusualAn unusualLewis demonstrates how textures such as canvas and wood grain canbe created by this method. An extension to digital painting, describedin [Hanrahan and Haeberli 90], shows how use of a hardware z-bufferMapping Textures onto Surfacesof the polygons in a model. Mapping texture coordinates onto acomplex surface is not easy, and several methods have been proposedto accomplish this. A common approach is to define a mapping fromthe rectangle to the natural coordinate system of the target objectÕssurface. For example, latitude and longitude can be used to define amapping a texture onto a cubic patch [Catmull 74]. In some cases ancare must be taken to make the edges of the patches match. AAAnother approach to texture mapping is to project the texture onto thesurface of the object. One example of this is to orient the texture (Euclidean three-space) and perform a projection fromthis square onto the surface [Peachey 85]. Related to this is a two-steptexture mapping method given by [Bier and Sloan 86]. The first stepbox or cylinder. The second step projects the texture from this surfaceonto the target object. A different method of texture mapping is tomake use of the polygonal nature of many graphical models. In thismake use of the polygonal nature of many graphical models. In thisunfolded onto the plane one or more times and the average of theunfolded positions of each vertex is used to determine textureplacement. A user can adjust the mapping by specifying where tomodels and textures. There are pitfalls to these methods, however.object. This is a fundamental problem that comes from defining theto be textured. Some of these techniques also require a good deal ofuser intervention. One solution to these problems for some imagesis the use of solid textures. A solid texture is a color function definedsurfaces of objects [Peachey 85; Perlin 85]. A point (function at this point in space. This method is well suited foras a block of wood or a slab of marble. Solid texturing is a successful. No assignmentof texture coordinates is necessary.Quite a different approach to matching texture to surface geometryis given in [Ma and Gagalowicz 85]. They describe several methodsa given model. Statistical properties of a texture are then used todiffusion systems. These patterns are an addition to the texturesynthesistÕs toolbox, a collection of tools that include such proceduralmethods as PerlinÕs noise function and GardnerÕs sum-of-sine waves.This section begins by discussing reaction-diffusion as it relates tothat can be generated using reaction-diffusion.embryo arrange themselves into particular patterns. For example,how is it that the cells in the embryo of a worm become organized intosegments? Undoubtedly there are many organizing mechanismsworking together throughout the development of an animal. Onepossible mechanism, first described by Turing, is that two or morechemicals can diffuse through an embryo and react with each otheruntil a stable pattern of chemical concentrations is reached [Turing52]. These chemical pre-patterns can then act as a trigger for cells ofdifferent types to develop in different positions in the embryo. Such systems, and the. Since the is one and. The values for are the sources of slight irregularities in across a line of 60 were set to 4 for all cells along the line. The values of were 0.05. The = .25 and = .0625, which means diffuses more rapidly than = 0.03125. Notice how after has settled down into apattern of peaks and valleys. The simulation results look different indetail to this when a different random seed is used for The reaction-diffusion system given above can also be simulated ona two-dimensional field of cells. The most common form for such aa cell diffuse to each of its four neighbors on the grid. The discrete = Ð Ð + + + Ð 4 at a cell is found by summing each of and subtracting four times the value at the cell. Each of the neighboring values for are given theedge between any two cells is always the same on a square grid. Thisregular grid, where different neighbors will be weighted differently64 grid of cells. Notice that the valleys of take the form of spots in two dimensions. It is the in these spot is low. Sometimes chemical is called an forming nearby. In two-chemical reaction-diffusion systems theinhibitor is always the chemical that diffuses more rapidly.We can create spots of different sizes by changing the value of theslowly relative to the diffusion and this creates larger spots. Larger produce smaller spots ( = 0.2 in Figure 2, upper right). 0.1. If the random variation of is increased to 12 3, the spotsbecome more irregular in shape (Figure 3, upper left). The patternsthat can be generated by this reaction-diffusion system werefusion system wereReaction-diffusion need not be restricted to two-chemical systems.fusion need not be restricted to two-chemical systems.82]. See the appendix of this paper for details of MeinhardtsÕssystem. The result of simulating such a system on a two-dimensionalgrid can be seen in Figure 3 (lower left). Notice that the systemislands of one color or the other. This pattern is like random stripesmammals [Hubel and Wiesel 79]. at a of the local and and the diffusion of from places nearby. says how fast is diffusing, and the Laplacian is at one location with nearby. If nearby places have a will be positive and diffusestoward this position. If nearby places have lower concentrations, will be negative and will diffuse away from this position.The key to pattern formation based on reaction-diffusion is that an and vary across the surface.A set of equations that Turing proposed for generating patterns in onedimension provides a specific example of reaction-diffusion:and stripes on mammals [Bard 81; Murray 81]. Only recently has an[Lengyel and Epstein 91]. So far no direct evidence has been foundto show that reaction-diffusion is the operating mechanism in thedevelopment of any particular embryo pattern. This should not betaken as a refutation of the model, however, because the field ofThe basic form of a simple reaction-diffusion system is to have two and ) that diffuse through the embryo at and . These systems can be explored in any dimension. Forformation in worms, or we could look at reaction-diffusion on asurface for spot-pattern formation. Here are the equations showingthe general form of a two-chemical reaction-diffusion system: ¶t¶aF(Da Ñ2a ¶t¶b G() + Db Ñ2b simulating a second system. One model of embryogenesis of the fruitfly shows how several reaction-diffusion systems might lay downsegmentation pattern in the embryo [Hunding 90]. Bard has suggestedcascade process might be responsible for some of the less might be responsible for some of the lessdetails about how two chemical systems might interact. The patternsshown in this section are new results that are inspired by BardÕs idea of TuringÕs reaction-diffusion system from 0.05 to 0.2. The lower left portion of Figurelarge-and-small spot pattern found on cheetahs. We can make thispattern by running the large spot simulation, ÒfreezingÓ part of thisportion of the computation mesh. Specifically, once the large spots = 0.05) we set a boolean flag to TRUE for between 0 and 4.upper left of Figure 2. Then we run the spot forming mechanism = 0.2 to form the smaller spots. During this second and . These marked cells must still participate and forneighboring cells. This allows the inhibitory nature of chemical toprevent the smaller spots from forming too near the larger spots. ThisWe can create the leopard spot pattern of Figure 2 (lower right) inmuch the same way as we created the cheetah spots. We lay down theoverall plan for this pattern by creating the large spots as in the upper = 0.05). Now, in addition to marking as frozen those and to be 4 at these marked cells. When we run the second system = 0.2) the small spots tend to form in the areasadjacent to the large spots. The smaller spots can form near the large is not high at the marked cells. ThisIn a manner analogous to the large-and-small spots of Figure 2 (lowerleft) we can create a pattern with small stripes running between largerstripes. The stripe pattern of Figure 3 (lower right) is such a patternand is modelled after the stripes found on fish such as the lionfish. Wecan make the large stripes that set the overall structure of the patternby running MeinhardtÕs stripe-formation system with diffusion rates = 0.1 and = 0.06 (see Appendix). Then we mark those cells = 0.008 and = 0.06. The slower diffusion of and (a smaller value for form between the larger stripes.We can use both the spot and stripe formation systems together toreticulation that is found on giraffes.formation system to make stripes between the spots. Once again wemark as frozen those cells that comprise the spots. We also set theformation system. This causes black stripes to form between thestep in the cascade process. Figure 5 is an example of how such apatterns. The random stripes are a result of the slight randomperturbations in the ÒsubstrateÓ for the chemical system. If theseanywhere. Regular stripes will form on a mesh that is homogeneous radiate from these special cells. One way to create an initiator cell isto slightly raise or lower the substrate value at that cell. Another wayto be higher or lower than at other cells. The pseudo-zebra in Figure6 was created in this manner. Its stripes were initiated by choosing atVarying Parameters Across a Surfacequarters than the stripes on the neck and legs. Bard has suggestedat different locations on the embryo [Bard 77]. This effect can bethe computation mesh. The pseudo-zebra of Figure 6 has widerstripes near the hind quarters than elsewhere on the model. This wasaccomplished by allowing the chemicals to diffuse more rapidly atPart Two: Mesh Generation and Renderingthat no explicit mapping from texture space to an objectÕs surface isrequired. There is no texture distortion. There is no need for a usersimulate a reaction-diffusion system for an arbitrary polyhedralmodel. This mesh will serve as a replacement to the regular squaregrids used to generate Figures 2 and 3. We will create textures bysimulating a reaction-diffusion system directly on the mesh. It issynthesis. Such a mesh can be used for texture generation wherevergraphics. Models generated by special-effects houses are oftendigitized by hand from a scale model. Models taken from CAD mightpolygonal boundary representation. Some models are generatedprocedurally, such as fractals used to create mountain ranges andtrees. Often these methods will give us few guarantees about thethe range of sizes of the polygons. Sometimes such models willmeet. For these reasons it is unwise to use the original polygons asthe mesh to be used for creating textures. Instead, a new mesh needsproperties that make it suitable for texture synthesis. This mesh-[Ho-Le 88]. Automatic mesh generation is a difficult problem insimplify the problem. We only require that the model be divided upinto relatively evenly-spaced regions. The mesh-generation techniqueanother and fully tile the polyhedral model. The actual descriptionof scalar values that tell how much diffusion occurs between this celland each of its neighbors. No explicit geometric representation of the the polyhedron. Figure 7b shows an initially random distribution ofprocedure. The underlying polygons of the model are outlined inaverage density of the points across the whole surface. The meshes gives a fixed average number of neighboringsurface and independent of surface geometry. This is importantneighboring points quickly.To compute how nearby points repel a given point remain where they are. Points onboundaries of these cells is necessary. Given a value for cell density,number of points on the surface of the polyhedral model. A relaxationfairly evenly spaced from one another. At this stage, each point gives) position that is a part of the description of a single cell. Theof cells will diffuse to one another, and the result of this step gives theadjacency information and the diffusion coefficients that completethe cellÕs description. The only user-supplied parameter for this points randomly onthe modelÕs surface. In order to distribute points randomly over asurface. To place a random point on the model we need to make anplaced. This can be accomplished using a binary search through a listof partial sums of the polygon areas in the model. Now a randompoint on this polygon can be chosen [Turk 90].somewhat regularly spaced. This is accomplished using relaxation.Intuitively, the method has each point push around other points on thesurface by repelling neighboring points. The method requireschoosing a repulsive force and a repulsive radius for the points. Weuse a repulsive force that falls off linearly with distance. Two points from one another do notaffect each other. The relaxation method also requires a method forthe point is pushed off its original polygon. Here is an outline of the r 2a/n a areaof n numberofpointsonsurface are rotated about the commonedge until they lie within the given plane. Points on more remote and thenprojected onto the plane. We use this method for mapping nearbypoints onto the plane because of its simplicity. A different method,at the cost of execution speed and algorithm complexity, would be towe can map nearby points onto a given pointÕs plane. For each point on the surface we need to determine a vector that is the sum of allrepelling forces from nearby points. The new position for the point on polygon will be = + is some small scalingvalue. In many cases the new point will lie on . If is not on, it will often not even lie on the surface of the polyhedron. In this that was ÒpushedÓ across and. The can be rotated about the common edge between and so. This new point may not lie on the polygon. Each step of this process brings the pointMesh Cells from Voronoi Regionssurface. Now regions need to be formed around each point todetermine adjacency of cells and to give the diffusion coefficientsbetween adjacent cells. In keeping with many finite-element mesh-generation techniques, we choose to use the Voronoi regions of thepoints to form the regions surrounding the points. A description ofVoronoi regions can be found in a book on computational geometry,e.g., [Melhorn 84]. Given a set of points in a plane, the Voronoi is that region on the plane where is the. For points on a plane, the Voronoibetween pairs of points. When we simulate a diffusing system onbetween the two cells. Figure 7d shows the Voronoi regions for theFinding the exact Voronoi regions of the points on a polyhedralseveral different polygons. Instead of solving this exactly, a planarvariation of the exact Voronoi region for a point is used to determinethe lengths of edges between cells. Using the same procedure as are mapped onto the plane of containing . Then the planar Voronoi region of isare calculated. It is the lengths of these segments that are used as thediffusion coefficients between pairs of cells. In general, computingthe Voronoi regions for points in a plane has a computational[Melhorn 84]. However, the relaxationall points that contribute to the Voronoi region of a point can be foundpoint. In practice we have found that we need only consider those of a given point to construct a Voronoi region, where can be any function that monotonicallydecreases in the range zero to one. The function used for the images + 1if 0 ) = 0if [0,1], and its first derivative is zero at 0 and at 1 [Perlin and Hoffert89]. Any similar function that falls off smoothly could be used for theconstant amount of time, constructing the Voronoi regions is of The above construction of the Voronoi regions assumes that thediffusion over a surface is isotropic (has no preferred direction). Thestriking textures in [Witkin and Kass 91] show that simulation ofdiffusion. Given a vector field over a polyhedral surface, we cansimulate anisotropic diffusion on the surface if we take into accountthe anisotropy during the construction of the Voronoi regions. Thisof anisotropy after projecting neighboring points onto a given pointÕsplane. Then the Voronoi region around the point is constructed basedon these new positions of nearby points. The contraction affects thelengths of the line segments separating the cells, and thus affects thediffusion coefficients between cells. This contraction will also affectwhich cells are neighbors. Figure 8 shows that anisotropic diffusioncreates spots that are stretched when TuringÕs system is simulated onWe can create any of the reaction-diffusion patterns described earlierchemical system directly on a mesh for the model. The square cellsof a regular grid are now replaced by the Voronoi regions thatcomprise the cells of the mesh. Simulation proceeds exactly asall the same length. These boundary lengths are the diffusioncoefficients, and the collection of coefficients at each cell should be is computed at a particular cellby multiplying each diffusion coefficient of the cell by the value of at the corresponding neighboring cell, summing these values for all at the given cell.sizes generated on the regular square grid. When the simulation iseach cell in the mesh. The next section tells how these concentrationsdisplaying the resulting chemical concentrations as a texture. First,across the surface. The chemical value can then be used as input toa function that maps chemical concentration to color. We haveradius of the location. If the chemical concentration at a nearby mesh is on the surface v 'P=-Q near near weighting function. The images in this paper have been made using = 2 is the repulsive radius from the relaxationmethod. Much smaller values for make the individual mesh pointsnoticeable, and values much larger than this will blur together thevalues of more nearby mesh points. Uniform spatial subdivision contribute to a pointÕs value.by reaction-diffusion, where the chemical concentrations have beenmapped to a color gradation from blue to white. Figure 7f shows thetexture. Aliasing of the texture can occur, however, when a texturedstripes, are about the same width as the pixels of the image. Super-is costly. A better approach is to extend the notion of levels ofincreasingly blurred textures [Williams 83] to those textures definedblue) color triple for each blur level. Level 0 is an unblurred versionthe color as an RGB triple at each mesh point. Blur levels 1 and higherare created by allowing these initial color values to diffuse across thesurface. When the values of a two-dimensional gray-scale image areallowed to diffuse across the image, the result is the same asconvolving the original image with a Gaussian filter. Larger amountslonger periods of time. Similarly, allowing the RGB values at themesh points to diffuse across the mesh results in increasingly blurredversions of the texture given on the mesh. The relationship between and convolution with a Gaussian kernel of is t = 2 [Koenderink 84]. The blur levels ofFigure 9 were generated so that each levelÕs Gaussian kernel has athe colors from two blur levels. The choice of blur levels and thethe pixel. This estimate of surface area can be computed from thethe direction to the eye. The natural unit of length for this area is the repulsion radius for mesh building. The proper blur level at a is the. We have have78]. The rough appearance is created from a gray-scale texture bythe lighting model based on this new surface normal. Perlin showedthat the gradient of a scalar-valued function in can be used as a can be used as a85]. We can use the gradient of the values d,0,0])) / dgy = (vÕ(P) Ð vÕ(P + [0,d,0])) / dgz = (vÕ(P) Ð vÕ(P + [0,0,d])) / dperturbation vector = [k * * * evaluates the and at three nearby points in each of the and directions. The value is taken to be a small fraction of the repulsive to make sure we stay close enough to that we get an accurateestimate for the gradient. The gradient can also be computed directly by calculating exactly the partial derivatives and . The scalar parameter is used to scale the bump features,Õs sign causes bumps to become indentations and viceversa. Figure 10 shows bumps created in this manner based theresults of a reaction-diffusion system.Creating a texture using reaction-diffusion for a given model can bea CPU-intensive task. Each of the textures in Figures 4, 5 and 6 tookseveral hours to generate on a DEC 3100 workstation. These meshescontained 64,000 points. Perhaps there is some consolation in thelay down such a pattern in an embryo. Such texture synthesis timeswould seem to prohibit much experimenting with reaction-diffusiontextures. It is fortunate that a given reaction-diffusion system with asmall square grids as the features from a simulation on much largermeshes. The patterns in this paper were first simulated on a 64 64finish. These simulations were run on a Maspar MP-I, which is adimensional grid. A workstation such as a DEC 3100 can perform 32 grid in about two minutes, which isfast enough to explore new textures. Once a texture is generated byreasonably fast. The image in Figure 4 required 70 seconds to render 512 resolution without anti-aliasing on a DEC 3100. Thesame horse without texture takes 16 seconds to render.Future Workleave a pattern for later systems. For example, one chemical systemcould affect the random substrate of a second system. What patternscan be formed if one system causes different rates of diffusion inused for texture synthesis. Examples that might be adapted fromcellular automata [Toffoli and Margolus 87] include two-dimensionalannealing, diffusion-limited aggregation and the Belousov-I would like to thank those people who have offered ideas andencouragement for this work. These people include David Banks,Henry Fuchs, Albert Harris, Steve Molnar, Brice Tebbs, and TurnerWhitted. Thanks also for the suggestions provided by the anonymousreviewers. Linda Houseman helped clean up my writing and DavidEllsworth provided valuable photographic assistance. Thanks toRhythm & Hues for the horse, Steve Speer for the giraffe and AppleComputerÕs Vivarium Program for the sea-slug.or the other stripe color (white or black, for instance). The is used to make sure that only one of and arepresent at any one location. Chemicals and assure that the and are limited in width. A program written inFORTRAN to simulate this system can be found in [Meinhardt 82].References[Bard 77] Bard, Jonathan, ÒA Unity Underlying the Different Zebra, Vol. 183, No. 4, pp. 527Ð[Bard 81] Bard, Jonathan B. L., ÒA Model for Generating Aspects ofJournal of Theoretical, Vol. 93, No. 2, pp. 363Ð385 (November 1981).[Bard and Lauder 74] Bard, Jonathan and Ian Lauder, ÒHow WellDoes TuringÕs Theory of Morphogenesis Work?,Ó Theoretical Biology, Vol. 45, No. 2, pp. 501Ð531 (June 1974).[Bier and Sloan 86] Bier, Eric A. and Kenneth R. Sloan, Jr., ÒTwo-Part Texture Mapping,Ó , Vol. 6, No. 9, pp. 40Ð53 (September 1986).[Blinn 78] Blinn, James F., ÒSimulation of Wrinkled Surfaces,Ó, Vol. 12, No. 3 (SIGGRAPH Õ78), pp. 286Ðol. 12, No. 3 (SIGGRAPH Õ78), pp. 286ÐÒÓComputer Graphics, Vol. 19, No. 3 (SIGGRAPH Õ85), pp. 305Ð311 (July 1985).[Catmull 74] Catmull, Edwin E., ÒA Subdivision Algorithm forComputer Display of Curved Surfaces,Ó Ph.D. Thesis, Departmentthe Pixel-Planes project. Pixel-Planes is supported by the NationalScience Foundation (MIP-9000894) and the Defense AdvancedResearch Projects Agency, Information Science and TechnologyAppendix: MeinhardtÕs Stripe-Formation Systema five-chemical reaction-diffusion system given in [Meinhardt 82].The equations of MeinhardtÕs system are as follows: ¶ g1¶t =cs2g12r -ag1+Dg¶2g1¶x2 +r0 ¶ g2¶t =cs1g22r -ag2+Dg¶2g2¶x2 +r0¶r¶t =cs2g12+cs1g22-br ¶ s1¶t =gg1-s1+Ds¶2s1¶x2 +r1 ¶ s2¶t =gg2-s2+Ds¶2s2¶x2 +r1 [Gardner 85] Gardner, Geoffrey Y., ÒVisual Simulation of Clouds,Ó, Vol. 19, No. 3 (SIGGRAPH Õ85), pp. 297Ðol. 19, No. 3 (SIGGRAPH Õ85), pp. 297ÐÒDirect WYSIWYG Painting and Texturing on 3D Shapes,Ó, Vol. 24, No. 4 (SIGGRAPH Õ90), pp. 215Ð[Heckbert 89] Heckbert, Paul S., ÒFundamentals of Texture Mappingand Image Warping,Ó M.S. Thesis, Department of ElectricalThesis, Department of ElectricalÒA Review and Classification,Ó Computer Aided Design, Vol. 20,[Hubel and Wiesel 79] Hubel, David H. and Torsten N. Wiesel,ÒBrain Mechanisms of Vision,Ó , Vol. 241, No.[Hunding 90] Hunding, Axel, Stuart A. Kauffman, and Brian C.Drosophila Segmentation: Supercomputer Simulationof Prepattern Hierarchy,Ó Journal of Theoretical Biology, Vol. 145,145,ÒÓBiological Cybernetics, Vol. 50, No. 5, pp. 363Ð370 (Augustol. 50, No. 5, pp. 363Ð370 (August‡ÒModeling of Turing Structures in the ChloriteÐIodideÐMalonic, Vol. 251, No. 4994, pp.[Lewis 84] Lewis, John-Peter, ÒTexture Synthesis for Digital, Vol. 18, No. 3 (SIGGRAPH Õ84),[Lewis 89] Lewis, J. P., ÒAlgorithms for Solid Noise Synthesis,Ó, Vol. 23, No. 3 (SIGGRAPH Õ89), pp. 263Ð[Ma and Gagalowicz 85] Ma, Song De and Andre Gagalowicz,ÒDetermination of Local Coordinate Systems for Texture SynthesisEurographics Ô85, edited by C. E. Vandoni.andoni.Models of Biological PatternFormation, Academic Press, London, 1982.Academic Press, London, 1982.Multi-dimensional Searching and, Springer-Verlag, 1984.[Murray 81] Murray, J. D., ÒOn Pattern Formation Mechanisms forLepidopteran Wing Patterns and Mammalian Coat Markings,ÓPhilosophical Transactions of the Royal Society B, Vol. 295, pp.[Peachey 85] Peachey, Darwyn R., ÒSolid Texturing of Complex, Vol. 19, No. 3 (SIGGRAPH Õ85),[Perlin 85] Perlin, Ken, ÒAn Image Synthesizer,Ó Vol. 19, No. 3 (SIGGRAPH Õ85), pp. 287Ð296 (July 1985).[Perlin and Hoffert 89] Perlin, Ken and Eric M. Hoffert,, Vol. 23, No. 3 (SIGGRAPH[Samek 86] Samek, Marcel, Cheryl Slean and Hank Weghorst,ÒTexture Mapping and Distortion in Digital Graphics,Ó The Visual, Vol. 2, No. 5, pp. 313Ð320 (September 1986).[Toffoli and Margolus 87] Toffoli, Tommaso and Norman Margolus,Cellular Automata Machines, MIT Press, 1987.[Turing 52] Turing, Alan, ÒThe Chemical Basis of Morphogenesis,ÓPhilosophical Transactions of the Royal Society B, Vol. 237, pp.[Turk 90] Turk, Greg, ÒGenerating Random Points in Triangles,Ó in, edited by Andrew Glassner, Academic Press,[Williams 83] Williams, Lance, ÒPyramidal Parametrics,Ó , Vol. 17, No. 3 (SIGGRAPH Õ83), pp. 1Ð11 (July 1983).[Witkin and Kass 91] Witkin, Andrew and Michael Kass, ÒReaction-Diffusion Textures,Ó , Vol. 25 (SIGGRAPH[Yeager and Upson] Yeager, Larry and Craig Upson, ÒCombiningPhysical and Visual Simulation Ñ Creation of the Planet Jupiter, Vol. 20, No. 4 (SIGGRAPH