Organic surface generation with the morphogenesis model
'Yoichiro Kawaguchi
Yoichiro Kawaguchi
ABSTRACT This paper describes a new approach to the generation and rendering of complex, organic, closed-curve surfaces that is able to produce traditional ray tracing effects such as transparency, reflection, refraction, shadowing, and texture mapping. Unlike conventional modeling techniques, which encounter difficulty in handling dynamic free-form objects, the Morphogenesis model can easily define and transform such shapes interactively. The model utilizes special density distribution functions, called "meta-balls" and "meta-ellipsoids", as its fundamental modeling primitives. Both gradual and catastrophic (i.e. sudden) topological changes can be achieved due to the fluid, non-deterministic nature of the generating algorithm. Implementation of the model, on the LINKS-1 parallel, multi-microprocessor system is described and illustrative examples drawn from previous and current work-in-progress are presented.1. INTRODUCTION The Morphogenesis model combines concepts from the previous GROWTH models with "meta-ball" and "meta-ellipsoid" techniques that carry out object modeling by means of distributed density functions that resemble previously developed "blobby sphere" techniques (5) . These most recent techniques utilize a ray tracing algorithm (2) and were realized on a parallel processing, multi-microcomputer system, called the "LINKS-1" developed by Koichi Omura, Isao Shirakawa and his research group at Osaka University (3) . The resulting works, "Growth: Mysterious Galaxy" (shown at SIGGRAPH '83) and "Growth II: Morphogenesis" (shown at SIGGRAPH '84) are three-dimensional animations involving morphogenetic techniques. In this paper, we shall explain the new Morphogenesis model for the efficient ray tracing of complex surfaces and organic objects. This model carries out metamorphic pattern transformations and makes possible the rendering of multiple texture-mapped surfaces with partial reflection or partial transparency areas.
Conventional three-dimensional image synthesis methods for modeling complex natural objects have usually required large amounts of object data. The procedures for generating shaded images, consisting frequently of thousands or even millions of object data, could not be carried out without a great deal of computational expense.
What has been sorely needed is the development of a new metamorphic model that will enable us to generate morphologically varying shapes more efficiently and more flexibly. In the middle of the 1970's, we began morphogenetic computer graphics research using a line drawing system, advised by Eiichi Izuhara at the Industrial Product Research Institute in Tokyo.
Since that time we have been able to explore spiral structure generation with our "growth model" (1) . This model makes it easy to create a complex natural object based on the growth rules of shells and tendril plants, and with it we can generate a great variety of raster images. Until recently, representations of irregular, complex surfaces in computer generated images have been based upon the assumption that those objects are fundamentally an assembly of simply-defined polygons and patches, and that the objects are defined by free-form surface techniques. Subsequently, an increased degree of flexibility has been achieved by new rendering methods using a distribution function. This method has been very successful for artistic creation in rendering realistic three-dimensional shaded images of stretched objects with relatively complex characteristics representing organic surface features.
This paper focuses on these new three-dimensional shaded images consisting of free-form surfaces which we call the "Morphogenesis model". In section 2 we describe how we structured the Morphogenesis model, including the Morphogenesis primitives, chester structures, input parameters and the model's algorithm. In section 3, we explain how we carried out the morphogenetic scene simulation for "Growth: Mysterious Galaxy" and "Growth 11: Morphogenesis". In section 4, the Morphogenesis model is extended and improved to include reflection and retraction with density ellipsoids. We also demonstrate a new characteristic effect, namely multiple-texture mapped surface description, one of the most advanced and unique rendering techniques.2. THE STRUCTURE OF THE MORPHOGENESIS MODEL 2.1. Primitives
The LINKS¨C1 system has "meta-ball" and "meta-ellipsoid" programs. Morphogenesis images are composed from these two types of primitives. These primitives are defined by their center position, effective radius, weight, and other attributes. The center position parameters place a primitive on the specified local coordinates. center (Xc, Yc, Zc) The effective radius, which is invisible, is not the final image radius, but rather defines the range of the density distribution. radius (r0) {in the case of a meta-ball} radius (ra, rb, rc) {in the case of a meta-ellipsoid}
The density reveals itself as a relative degree value for the metaprimitives' potential and threshold.
weight (w0) threshold (t0)
If the weight paramter is less than 0: the primitive is invisible. If the weight parameter is greater than 0: the primitive is visible.
The attribute parameters of the LINKS-1 system include the following: (r, g, b) color of surface; (dic) the diffuse reflection constant for ambient light; (drc) the diffuse reflection coefficient; (src) the specular reflection coefficient; (n) the glossiness; (trc) the transmission coefficient; (phi) the refraction ratio. In addition, it is possible to vary these parameters with texture maps generated by the Morphogenesis model. In section 4, we describe renderings with multiple reflection and refraction.
2.2 Cluster structures
In this section we will explain the Morphogenesis cluster structure. "Meta-balls" and "meta-ellipsoids" are only fundamental shape primitives and, therefore, cluster concatenation is necessary to model complex shape structures. Cluster independently control their concatenated sub-clusters and shapes. For each cluster hierarchy it is possible to translate and rotate shapes about the cluster's local coordinate system and then transform the cluster to the global coordinate system of the scene. An example of the Morphogenesis cluster structure is shown in fig. 5. In this figure "shape" denotes the data of a shape file and upper-case letters indicate the generation level of each block. (A "block" is a group of clusters which are members of the same generation.) In this example, the 1st to 5th generation growths (A¨CE) each develop two branches. The sub-scripts (1,2, ¡) below each upper-case letter indicate whether the growth is a "root branch" (0) or an "ordinary branch" (1), recursively for each stage.
Only the first generation has a special main branch called the "root branch". One Morphogenesis-primitive consists of one block of shapes and clusters. A block style is indicated in fig. 6 and consists of objects having a common joint. Each cluster connects the next generation's blocks. Each cluster has up to (n) branches. Fig. 6 shows the structure of the blocks.
First by the main branch of the new generation is related to the old generation. Shape Ao exists in first generation, and it is in the local coordinates of cluster Ao. Cluster Bo is connected to cluster A, The coordinate axis (x, y, z) of its local coordinate system is shown in fig. 7. The tip of shape Ao is at the origin. The direction of growth of shape Ao is along its y axis. Shape Bo is rotated in the cluster Bo's local coordinate system.
Secondly one branch is shown in fig. 8. As mentioned the shape Bo is connected with cluster Bo, Cluster Bo is joined to cluster B, in the same generation. They have the local coordinate system shown in fig. 8. The bottom of the main branch is the local coordinate origin (0, 0, 0). The direction of shape Bo's growth is along this y axis. Shape B is rotated in this coordinate system. Other branches are similar. When these cluster blocks are recursively defined, the Morphogenesis model can generate complex surfaces.
2.3. Input parameters
It was mentioned above that a shape generated by the Morphogenesis model can be broken down into smaller parts such as branches or joints. The input parameter is very important as a factor which generates the model recursively, in fine detail, as far as the tip, according to the growth principle. This principle is another example of the principle of hierarchical multiplication of a recursively expanded self-similar structure.
The input parameters include the following:(1) Center coordinates of the bottom of the main root branch. (X bottom, Y bottom, Z bottom) (2) Center coordinates of the top of the main root branch. (X top, Y top, Z top) (3) The angle between the root and the next generation branch. (X angle[0], Y angle[0], Z angle[0]) (4) The angle between branches at the same generation. (X angle[1], Y angle[1], Z angle[1] (X angle[k], Y angle[k], Z angle[k] (X angle[n], Y angle[n], Z angle[n] (0 ¡Ü k ¡Ü n, n ¡Ý 0) (5) Effective extension of the vibrating angle between the root branch and the next generation branch. (X min-angle[0], Y min-angle[0], Z min-angle[0] (X max-angle[0], Y max-angle[0], Z max-angle[0] (6) Effective extension of the vibrating angle between a non-root branches. (X min-angle[1], Y min-angle[1], Z min-angle[1] (X min-angle[k], Y min-angle[k], min-angle[k] (X min-angle[n], Y min-angle[n], min-angle[n] (0 ¡Ü k ¡Ü n, n ¡Ý 0) (7) The portion of increase and decrease of angle between a branch and the next generation branch. (X step, Y step, Z step) (8) The growth ratio of the next generation branch to the prior branch's joint. (scale[0]) (9) The growth ratio of the next generation branch to the prior branch. (scale[1]) (scale[k]) (scale[n]) (0 ¡Ü k ¡Ü n, n ¡Ý 0) (10) The maximum radius of joint. (radius) (11) The minimum radius of joint. (limit) (12) The attribute data of branch, joint, and flower. (root-branch attribute) (joint attribute) (branch attribute) (tip-branch attribute) 2.4. Generating algorithm
In this section, the generating algorithm of the "Morphogenesis model" is presented.(1) The parameters of the model are read in. (2) The length of each branch, its thickness, growing direction, and other attributes are transfered to the generating routine of the Morphogenesis model. (3) The generating routine checks the radius limit. (4) The data for the branches and accompanying joints are generated. (5) The next generation branch is generated. (6) The parameters to be transfered to the next generation branch are computed. (7) Next a recursive call to the routine takes place. (8) After the end of this routine's generating, the next generation is the start for growing the branch. (9) Of course, this does not effect parts that are not branched. (10) The generation of branches is described in the next three items. (11) First, parameters necessary for generating the branches of the next generation are computed. (12) And once again a recursive call takes place. (13) After the end of generating the branches, this routine is finished and returns to the origin of its call. The Morphogenesis model is implemented with a generating algorithm like the one just described. In the actual program, several special conditions are added for processing special cases like the tip, blooming flowers, etc. The cluster structure and generating algorithm are planned as above because they involve a largely recursive structure, and therefore the program and data structure are also recursive. This makes possible a very compact, efficient program.3. ANIMATION IMPLEMENTATION 3.1. Example "A"
In Growth 1, the surface character of the Growth model has a simple texture, though some basic shading was added. We anticipated that the surface texture would become more varied and interesting if the mapping method could be applied to the meta-ball surface. We tried mapping the meta-ball. But we thought of another method to achieve the same effect. The surface itself is not mapped: instead it reflects the mapped objects around it. The next fig. 10 is a construction of the total scene. It is normally mapped inside a huge ball with numerous flying objects within. The Morphogenesis model is set in the center of the ball and can reflect all of the objects moving through the upper half of the ball on its surface. We can see the textures reflected on the surface of the Morphogenesis model by programming the view point to be inside this ball. Because the shape of the surface of the Morphogenesis model transforms itself as its surface grows, the patterns, reflecting on the surface are also transformed. It follows that the textures reflected on the surface transform themselves flowingly as well. This was possible without using mapping, only the Morphogenesis model itself.
3.2. Example "B"
Reflections were used in the same way for Growth II. The surface of the Morphogenesis object is reflective, and the other objects are set in motion around it. These objects were mapped and turn on their axles independently. The growing object thrashes about and moves out of the field of view, but this is not a mistaken camera angle, since we wanted to show a reflective body in motion. The effect which we wanted was a scene in which the Morphogenesis surface moves around and between the objects near it. A texture map of these objects is reflected on the Morphogenesis body.
3.3. Differences between growth I and growth II
There are some differences of method and effects evident in Growth I (made in '83) and Growth II (made in '84). For example the characteristics of the surface representions. In Growth I the object's surface has only a simple shading with highlight effects. In Growth II transmission and reflection were added to the surface. In addition, the color mapping is more detailed. As a result, the surface patterns of object have been vastly improved, with a complex variety now possible.
This is because the reflected pattern is changed constantly with the transformation and movement of objects. Even if one object remains still, its surface pattern gets changed by the transformation of the objects around it. This is done easily and effectively using the mapping method. In addition, the movement of objects in the scene has been included. In Growth I, only Growth objects metamorphose, and other objects do not change. The objects in Growth II constantly move throughout the scene. The introduction of rotation about the Growth pattern itself, as well as that of objects in the background, is another new and useful feature.4. REPRESENTATION OF COMPLEX SURFACE EFFECTS 4.1. "Single-mapping"
This refers to simple mapping onto the surface of density ellipsoids and spheres. In Morphogenesis scene simulation, we use two types of mapping methods. Color mapping, which involves mapping the color with reflections onto the surface. And normal vector mapping, which involves mapping the "bumpy" or textured information onto the density surface. The "flying planet" in the background of fig. 14 is an example.
4.2. "Multiple-mapping"
"Single-mapping" is able to represent only relatively simple surface texture densities. With "multiple-mapping", however, it is possible to express more complex surfaces by overlapping the use of this technique several times. The ground of fig. 14 and the planet of fig. 15 are examples of this. These multiple overlappings of both color mapping and normal vector mapping are carried out until the desired complexity is achieved.
4.3. "Partial-area mapping"
A texture may be mapped onto one local part of a surface. Different primitives in one object-cluster may have different attributes.
The transition from one primitive to another can blend not only color but also other surface characteristics. And then, as for example, in fig. 11, the fusion of only the shape is possible. So, partial area mapping can be realized by an attribute list with mapping and another attribute list without mapping.
4.4. "Partial-area transmission, reflection"
The amount of transmission and reflection can vary over the surface (see fig. 12 and fig. 13). Color information can be controlled with one texture pattern and other surface characteristics with another texture pattern. See fig. 20 for detail.5. CONCLUSION We have presented the Morphogenesis model as an application example of smooth and closed-curve surface modeling, and have shown that this model is a powerful tool for representing and rendering images dynamically. The Morphogenesis model is realized by means of special density distribution functions called "meta-balls". The use of this type of primitive enables the model to give full play to its power to render organic objects that are difficult to define with conventional modeling techniques. Since the Morphogenesis model does not completely define shapes with deterministic methods, both gradual and catastrophic (sudden) topological change can be carried out interactively by means of just a few input parameters. To illustrate this technique, we presented "Growth: Mysterious Galaxy" (at SIGGRAPH '83) and "Growth II: Morphogenesis" (at SIGGRAPH '84), which were developed in order to display metamorphic change on the basis of growth principles. To stimulate our research we have also tried to develop an efficient hypothesis regarding natural morphological mechanisms. And we have tried to investigate how this hypothesis can help model and generate various morphological processes that are fundamental to many natural phenomena. We hope that this approach in trying to analyze the basis of natural growth objects can help us to develop new artistic techniques utilizing natural scientific principles.6. ACKNOWLEDGE MENTS Special thanks to Koichi Omura, Isao Shirakawa, Toru Kawata, Yasuo Egi and the members of the research group at Osaka University, as well as to Toyo Links Co. Ltd and Far East Laboraties Ltd. for allowing us the use of the LINKS¨C1 system to make "Growth: Mysterious Galaxy", "Growth II: Morphogenesis" and for helping to develop our artistic capabilities.
We also thank Suma Noji and Haruki Matsuo for discussion and editorial assistance with our research group students, and gratefully acknowledge the editorial suggestions of Harold Ohrbach in our writing of this report. Finally, we wish to thank Susumu Hirasawa and Takafumi Okubo, who gave us the opportunities to carry out our research at the Art & Science Laboratory of the Nippon Institute of Advanced Educational Media.
References:
(1) Kawaguchi Yoichiro, "A Morphological Study of the Form of Nature", Computer Graphics (SIGGRAPH '82 Proceedings). Vol. 16, No. 3, July 1982.back
(2) Whitted Turner, "An Improved Illumination Model for Shaded Display", communications of the ACM, 23, June, 1980.back
(3) Nishimura Hitoshi, et al., "LINKS-1: A Parallel Pipelined Multi-Micro-computer System for Image Creation", Proc. 10th Ann. Int. Symp. on Computer Architecture, 1983.back
(4) Yoshimura Hiroshi, et al., "Image Creation Algorithms in LINKS-1 Computer Graphics System", Mono. Inform, Proc. Soc. Japan, 1982 (in Japanese).
(5) Blinn James F. "A Generalization of Algebraic Surface Drawing", ACM Transactions on Graphics, VOL. 1, No. 3, July 1982.back
(6) Kawaguchi Yoichiro, "Morphogenesis and Artistic Creation", interdisciplinary issues in Computer Art and Design, SIGGRAPH '84 Course Notes Vol. 23 (abstract only), July, 1984.
(7) Blinn James F., Newell Martin, "Texture and Reflection in Computer Generated Images", Communications of the ACM, Vol. 19, No. 10, October, 1976.
(8) Blinn James F. "Simulation of Wrinkled Surfaces", Computer Graphics (SIGGRAPH '78 Proceedings), Vol. 12, No. 3, August, 1978.
(9) Yoichiro Kawaguchi, "The making of Growth II", IEEE Computer Graphics and Applications, Vol. 5, No. 4, April, 1985.
|