ACM SIGGRAPH Computer Graphics

Published by Association for Computing Machinery
Online ISSN: 0097-8930
Publications
Article
NASA The uses of virtual environment technology in the space program are examined with emphasis on training for the Hubble Space Telescope Repair and Maintenance Mission in 1993. Project ScienceSpace at the Virtual Environment Technology Lab is discussed.
 
Article
The problem of developing a more efficient means to control the complex data processing operations involved in the analysis of sensor data from spacecraft is studied. One such means is hardwritten input of mathematical impressions while working on-line with a computer. Adaptive recognizers of hand printed alphanumeric characters were studied, and one of these was implemented for the purpose of detailed investigation. This character recognizer featured the facility for defining special symbols by graphical construction. The investigation explored the general problem of communication between man and computer and identified the practical problems of the character recognizer.
 
Article
Two new techniques are presented for reducing the number of depth calculations in hidden surface elimination. Two new algorithms using the techniques are compared with three existing algorithms and it is shown by examples that the new techniques reduce the number of multiplications involved in the depth calculations. A technique for increasing the parallelism of operations is also presented. This allows the calculation to be done more rapidly in hardware and is particularly useful for generating line drawings rather than the usual TV raster scan images in the common raster-scan hidden surface algorithms.
 
Article
We present an algorithm for compositing a combination of density clouds and contour surfaces used to represent a scalar function on a 3-D volume subdivided into convex polyhedra. The scalar function is interpolated between values defined at the vertices, and the polyhedra are sorted in depth before compositing. For n tetrahedra comprising a Delaunay triangulation, this sorting can always be done in O(n) time. Since a Delaunay triangulation can be efficiently computed for scattered data points, this provides a method for visualizing such data sets. The integrals for opacity and visible intensity along a ray through a convex polyhedron are computed analytically, and this computation is coherent across the polyhedron s projected area.
 
Article
g most parameters. In this video paper, we show a set of new 3D widgets to control deformations called racks. A simple rack consists of a bar specifying the axis of deformation and some number of handles attached to the bar specifying additional deformation parameters. For example, a taper rack has two additional handles. Moving the ends of the handles towards or away from the axis bar changes the amount of taper of the deformed object; changing the distance between the handles changes the region over which the deformation is applied. A more complex rack can have multiple handles specifying different deformations. The racks in Figures 1--3 all have handles for twisting (purple), tapering (blue), and bending (red) an object. The deformation range is the region between the twist and taper handles. 2 The Issues in 3D Widget Design Many of the issues in designing 3D widgets are similar to those in designing a good 2D interface. However, good answers that s
 
Article
A method to display the earth as viewed from outer space (or a spaceship) is proposed. The intention of the paper is application to space ight simulators (e.g., reentry to the atmosphere) and the simulation of surveys of the earth (comparisons with observations from weather satellites and weather simulations); it is not for geometric modeling of terrains and/or clouds viewed from the ground, but for displaying the earth including the surface of the sea viewed from outer space taking into account particles (air molecules and aerosols) in the atmosphere and water molecules in the sea. The major points of the algorithm proposed here are the ecient calculation of optical length and sky light, with lookup tables taking advantage of the facts that the earth is spherical, and that sunlight is parallel.
 
Article
This paper discusses the use of physics-based models for animating clothes on synthetic actors in motion. In our approach, cloth pieces are first designed with polygonal panels in two dimensions, and are then seamed and attached to the actor's body in three dimensions. After the clothes are created, physical properties are simulated and then clothes are animated according to the actor's motion in a physical environment. We describe the physical models we use and then address several problems we encountered. We examine how to constrain the elements of deformable objects which are either seamed together or attached to rigid moving objects. We also describe a new approach to the problem of handling collisions among the cloth elements themselves, or between a cloth element and a rigid object like the human body. Finally, we discuss how to reduce the number of parameters for improving the interface between the animator and the physics-based model.
 
Article
Improv is a system for the creation of real-time behavior-based animated actors. There have been several recent efforts to build network distributed autonomous agents. But in general these efforts do not focus on the author's view. To create rich interactive worlds inhabited by believable animated actors, authors need the proper tools. Improv provides tools to create actors that respond to users and to each other in real-time, with personalities and moods consistent with the author's goals and intentions. Improv consists of two subsystems. The first subsystem is an Animation Engine that uses procedural techniques to enable authors to create layered, continuous, non-repetitive motions and smooth transitions between them. The second subsystem is a Behavior Engine that enables authors to create sophisticated rules governing how actors communicate, change, and make decisions. The combined system provides an integrated set of tools for authoring the "minds" and "bodies" of interactive acto...
 
Article
Shadow maps provide a fast and convenient method of identifying shadows in scenes but can introduce aliasing. This paper introduces the Adaptive Shadow Map (ASM) as a solution to this problem. An ASM removes aliasing by resolving pixel size mismatches between the eye view and the light source view. It achieves this goal by storing the light source view (i.e., the shadow map for the light source) as a hierarchical grid structure as opposed to the conventional flat structure. As pixels are transformed from the eye view to the light source view, the ASM is refined to create higher-resolution pieces of the shadow map when needed. This is done by evaluating the contributions of shadow map pixels to the overall image quality. The improvement process is view-driven, progressive, and confined to a user-specifiable memory footprint. We show that ASMs enable dramatic improvements in shadow quality while maintaining interactive rates. CR Categories: I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism---Shading,Shadowing; Keywords: Rendering, Shadow Algorithms 1
 
Article
In the course of developing a system for fitting smooth curves to camera input we have developed several direct (i. e. noniterative) methods for fitting a shape (line, circle, conic, cubic, plane, sphere, quadric, etc. ) to a set of points, namely exact fit, simple fit, spherical fit, and blend fit. These methods are all dimension-independent, being just as suitable for 3D surfaces as for the 2D curves they were originally developed for. Exact fit generalizes to arbitrary shapes (in the sense of the term defined in this paper) the well-known determinant method for planar exact fit. Simple fit is a naive reduction of the general overconstrained case to the exact case.
 
Article
A solid noise is a function that defines a random value at each point in space. Solid noises have immediate and powerful applications in surface texturing, stochastic modeling, and the animation of natural phenomena. Existing solid noise synthesis algorithms are surveyed and two new algorithms are presented. The first uses Wiener interpolation to interpolate random values on a discrete lattice. The second is an efficient sparse convolution algorithm. Both algorithms are developed for model-directed synthesis, in which sampling and construction of the noise occur only at points where the noise value is required, rather than over a regularly sampled region of space. The paper attempts to present the rationale for the selection of these particular algorithms. The new algorithms have advantages of efficiency, improved control over the noise power spectrum, and the absence of artifacts. The convolution algorithm additionally allows quality to be traded for efficiency without introducing obvious deterministic effects. The algorithms are particularly suitable for applications where high-quality solid noises are required. Several sample applications in stochastic modeling and solid texturing are shown. CR Categories and Subject Descriptors: I.3.3 [Computer Graphics]: Picture/Image Generation; I.3.7 [Computer Graphics ]: Three-Dimensional Graphics and Realism -- color, shading, shadowing, and texture. General Terms: Algorithms, Graphics. Additional Key Words and Phrases: Solid noise, texture, stochastic modeling, simulation of natural phenomena, texture synthesis, fractals. 1
 
Article
Many computer graphics programmers are working in the area of scientific visualization. One of the most interesting and fast-growing areas in scientific visualization is volume visualization. Volume visualization systems are used to create high-quality images from scalar and vector datasets defined on multi-dimensional grids, usually for the purpose of gaining insight into a scientific problem. Most volume visualization techniques are based on one of about five foundation algorithms. These algorithms, and the background necessary to understand them, are described here. Pointers to more detailed descriptions, further reading, and advanced techniques are also given.
 
Article
In this paper we present methods to smoothly interpolate orientations, given N rotational keyframes of an object along a trajectory. The methods allow the user to impose constraints on the rotational path, such as the angular velocity at the endpoints of the trajectory. We convert the rotations to quaternions, and then spline in that non-Euclidean space. Analogous to the mathematical foundations of flat-space spline curves, we minimize the net "tangential acceleration" of the quaternion path. We replace the flat-space quantities with curved-space quantities, and numerically solve the resulting equation with finite difference and optimization methods. 1 Introduction The problem of using spline curves to smoothly interpolate mathematical quantities in flat Euclidean spaces is a well-studied problem in computer graphics [bartels et al 87], [kochanek&bartels 84]. Many quantities important to computer graphics, however, such as rotations, lie in non-Euclidean spaces. In 1985, a method to...
 
Article
This article attempts to provide an overview of the process of creating animated motion from observations of real moving objects, and to discuss the potential for computer vision to contribute to this. My view is that the needs of the entire process create requirements on the individual steps; that motion capture for animation is most useful when the use of that data, including mapping and editing, is considered. The task of creating animation has some unique demands, and that only by considering these demands can a capture method be a useful tool for motion creation. This article is organized as follows. We begin with a discussion of the use of motion capture to create motion for animation, and look at the alternatives. We then consider the entire process of creating animation from motion capture, and consider some of these steps in detail. Specifically, we examine the current technologies for capture and issues in working with motion data. We conclude by discussing the opportunities for computer vision in the process. Within the animation community, there is historically a tension between animators and motion capture technicians/users [Cameron]. This tension comes from many factors, some of them real and some of them perceived. The two main sources of this tension are unrealistic expectations about what motion capture can do (that it can automatically produce motion that displaces animators), and that motion capture technology development has not considered the use of the data, leaving animators with data that is difficult to deal with. Motion Capture vs. Animation from Observation
 
Article
this paper. Once the key frames have been defined, the surfaces may be rotated, magnified, and filmed from any point of view, as in Figure 9. They can also be sliced by a clipping plane, to show the interior structure which would otherwise be obscured. As shown in Figure 10, this can be done on the LDS-2 hardware, which can clip with respect to a front and back plane, as well as on the screen boundaries. It can also be done in software, giving the smoother clipping edge shown in Figure 11, using methods analogous to those which produce a smooth profile edge
 
Article
We present an interactive modeling and animation system that facilitates the integration of a variety of simulation and animation paradigms. This system permits the modeling of diverse objects that change in shape, appearance, and behavior over time. Our system thus extends modeling tools to include animation controls. Changes can be effected by various methods of control, including scripted, gestural, and behavioral specification. The system is an extensible testbed that supports research in the interaction of disparate control methods embodied in controller objects. This paper discusses some of the issues involved in modeling such interactions and the mechanisms implemented to provide solutions to some of these issues. The system's object-oriented architecture uses delegation hierarchies to let objects change all of their attributes dynamically. Objects include displayable objects, controllers, cameras, lights, renderers, and user interfaces. Techniques used to obtain interactive pe...
 
Animation Snapshot of the Distributed Dining Philosophers.
Article
XTANGO's animation interpreter program, animator, has been very useful as a tool for animating concurrent programs written for an operating systems or concurrent programming class. Additional print statements can be added to a program and the output of the program can be read by the animation interpreter. The resulting algorithm animation will appear in a new window on the user's workstation running X-windows. SR is a concurrent programming language that can be used by students in an operating systems or concurrent programming class. This paper describes integrating XTANGO's animation interpreter into SR so that procedure calls can be made directly to the animation code, rather than generating an intermediate output file or piping the SR program's output to the animator program. Two new animation commands, stepjump and stepjumpto, were added so that more that one object can be moving at a time in the XTANGO window. Algorithm animation using SR is now even easier. An example SR program...
 
Article
A reflection and refraction model for anisotropic surfaces is introduced. The anisotropy is simulated by small cylinders (added or subtracted) distributed on the anisotropic surface. Different levels of anisotropy are achieved by varying the distance between each cylinder and/or rising the cylinders more or less from the surface. Multidirectional anisotropy is modelled by orienting groups of cylinders in different direction. The intensity of the reflected light is computed by determining the visible and illuminated portion of the cylinders, taking self-blocking into account. We present two techniques to compute this in practice. In one the intensity is computed by sampling the surface of the cylinders. The other is an analytic solution. In the case of the diffuse component, the solution is exact. In the case of the specular component, an approximation is developed using a Chebyshev polynomial approximation of the specular term, and integrating the polynomial. This model can be implemen...
 
Article
We define the antiumbra and the antipenumbra of aconvex area light source shining through a sequence of convex areal holes in three dimensions. The antiumbra is the volume from which all points on the light source can be seen. The antipenumbra is the volume from which some, but not all, of the light source can be seen. We show that the antipenumbra is, in general, a disconnected set bounded by portions of quadric surfaces, and describe an implemented O(n 2 ) time algorithm that computes this boundary, where n is the total number of edges comprising the light source and holes. The antipenumbra computation is motivated by a visibility scheme in which we wish to determine the volume visible to an observer looking through a sequenceof transparent convex holes, or portals, connecting adjacent cells in a spatial subdivision. Knowledge of the antipenumbra should also prove useful for rendering shadowed objects. Finally, we have extended the algorithm to compute the planar and quadratic su...
 
Article
One method of directly rendering a three-dimensional volume of scalar data is to project each cell in a volume onto the screen. Rasterizing a volume cell is more complex than rasterizing a polygon. A method is presented that approximates tetrahedral volume cells with hardware renderable transparent triangles. This method produces results which are visually similar to more exact methods for scalar volume rendering, but is faster and has smaller memory requirements. The method is best suited for display of smoothlychanging data. CR Categories and Subject Descriptors: I.3.0 [Computer Graphics]: General; I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling. Additional Key Words and Phrases: Volume rendering, scientific visualization. 1 Introduction Display of three-dimensional scalar volumes has recently become an active area of research. A scalar volume is described by some function f(x; y; z) defined over some region R of three-dimensional space. In many scientific a...
 
Article
During the last years the concept of multi-resolution modeling has gained special attention in many fields of computer graphics and geometric modeling. In this paper we generalize powerful multiresolution techniques to arbitrary triangle meshes without requiring subdivision connectivity. Our major observation is that the hierarchy of nested spaces which is the structural core element of most multi-resolution algorithms can be replaced by the sequence of intermediate meshes emerging from the application of incremental mesh decimation. Performing such schemes with local frame coding of the detail coefficients already provides effective and efficient algorithms to extract multi-resolution information from unstructured meshes. In combination with discrete fairing techniques, i.e., the constrained minimization of discrete energy functionals, we obtain very fast mesh smoothing algorithms which are able to reduce noise from a geometrically specified frequency band in a multiresolution decomposition. Putting mesh hierarchies, local frame coding and multi-level smoothing together allows us to propose a flexible and intuitive paradigm for interactive detail-preserving mesh modification. We show examples generated by our mesh modeling tool implementation to demonstrate its functionality.
 
Article
Subdivision is a powerful paradigm for the generation of surfaces of arbitrary topology. Given an initial triangular mesh the goal is to produce a smooth and visually pleasing surface whose shape is controlled by the initial mesh. Of particular interest are interpolating schemes since they match the original data exactly, and play an important role in fast multiresolution and wavelet techniques. Dyn, Gregory, and Levin introduced the Butterfly scheme, which yields C 1 surfaces in the topologically regular setting. Unfortunately it exhibits undesirable artifacts in the case of an irregular topology. We examine these failures and derive an improved scheme, which retains the simplicity of the Butterfly scheme, is interpolating, and results in smoother surfaces. 1 Introduction Beginning with an initial mesh, subdivision produces a sequence of refinements. New vertices are defined as local affine combinations of nearby vertices. An attractive feature of these schemes is locality, i.e., ...
 
Article
Hierarchical dynamic simplification (HDS) is a new approach to the problem of simplifying arbitrary polygonal environments. HDS operates dynamically, retessellating the scene continuously as the user's viewing position shifts, and adaptively, processing the entire database without first decomposing the environment into individual objects. The resulting system allows real-time display of very complex polygonal CAD models consisting of thousands of parts and hundreds of thousands of polygons. HDS supports various preprocessing algorithms and various run-time criteria, providing a general framework for dynamic view-dependent simplification.
 
Article
: This paper proposesa framework for animation that can achieve the intricacy of motion evident in certain natural ecosystems with minimal input from the animator. The realistic appearance, movement, and behavior of individual animals, as well as the patterns of behavior evident in groups of animals fall within the scope of the framework. Our approach to emulating this level of natural complexity is to model each animal holistically as an autonomous agent situated in its physical world. To demonstrate the approach, we develop a physics-based, virtual marine world. The world is inhabited by artificial fishes that can swim hydrodynamically in simulated water through the motor control of internal muscles that motivate fins. Their repertoire of behaviors relies on their perception of the dynamic environment. As in nature, the detailed motions of artificial fishes in their virtual habitat are not entirely predictable because they are not scripted. 1 Introduction Imagine a virtual marine w...
 
Gaze evoked blink experiments (left) and resulting eye movement video (right).
Animation frames from the gaze generator for three different eccentricities (left). Gaze generator at work in a virtual city environment (right).
Article
re parameterised in terms of the contribution of the eye, head, neck and shoulder joints to the movement and the total dwell time spent on the target before moving to the next target. Based on evidence from psychology [Bard et al. 1991], virtual humans are tagged with a head-move attribute, defining how likely they are to turn their heads to look at objects. Although subtle, we regard blinking motions as being highly important for conveying realistic gaze motions. Our primary focus is on the relationship between blinking and gaze shifts, referred to as gaze-evoked blinks in the psychology literature [Evinger et al. 1994]. These blinks typically begin simultaneously with the initiation of the head/eye movement and the probability of a blink increases with the size of the gaze shift. Furthermore, the amplitude of the gaze motion has been shown to affect the magnitude of the blink. These features have been incorporated into our gaze control system; when a gaze shift is imminent, a blink
 
Article
The aggregate motion of a flock of birds, a herd of land animals, or a school of fish is a beautiful and familiar part of the natural world. But this type of complex motion is rarely seen in computer animation. This paper explores an approach based on simulation as an alternative to scripting the paths of each bird individually. The simulated flock is an elaboration of a particle system, with the simulated birds being the particles. The aggregate motion of the simulated flock is created by a distributed behavioral model much like that at work in a natural flock; the birds choose their own course. Each simulated bird is implemented as an independent actor that navigates according to its local perception of the dynamic environment, the laws of simulated physics that rule its motion, and a set of behaviors programmed into it by the "animator." The aggregate motion of the simulated flock is the result of the dense interaction of the relatively simple behaviors of the individual simulated b...
 
Article
One of the common uses of bitmap terminals is storing multiple programming contexts in multiple, possibly overlapping, areas of the screen called windows. Windows traditionally store the visible state of a programming environment, such as an editor or debugger, while the user works with some other program. This model of interaction is attractive for one-process systems, but to make full use of a multiprogramming environment, windows must be asynchronously updated, even when partially or wholly obscured by other windows. For example, a long compilation may run in one window, displaying messages as appropriate, while the user edits a file in another window. This paper describes a set of low-level graphics primitives to manipulate overlapping asynchronous windows, called layers, on a bitmap display terminal. Unlike previous window software, these primitives extend the domain of the general bitmap operator bitblt to include bitmaps that are partially or wholly obscured.
 
Article
A model for the dynamic simulation of flexible bodies subject to non-penetration constraints is presented. Flexible bodies are described in terms of global deformations of a rest shape. The dynamical behavior of these bodies that most closely matches the behavior of ideal continuum bodies is derived, and subsumes the results of earlier Lagrangian dynamics-based models. The dynamics derived for the flexible-body model allows the unification of previous work on flexible body simulation and previous work on non-penetrating rigid body simulation. The non-penetration constraints for a system of bodies that contact at multiple points are maintained by analytically calculated contact forces. An implementation for first- and second-order polynomially deformable bodies is described. The simulation of second-order or higher deformations currently involves a polyhedral boundary approximation for collision detection purposes.
 
Article
A new algorithm for computing contact forces between solid objects with friction is presented. The algorithm allows a mix of contact points with static and dynamic friction. In contrast to previous approaches, the problem of computing contact forces is not transformed into an optimization problem. Because of this, the need for sophisticated optimization software packages is eliminated. For both systems with and without friction, the algorithm has proven to be considerably faster, simpler, and more reliable than previous approaches to the problem. In particular, implementation of the algorithm by nonspecialists in numerical programming is quite feasible. 1. Introduction In recent work, we have established the viability of using analytical methods to simulate rigid body motion with contact[1,2,3]. In situations involving only bilateral constraints (commonly referred to as "equality constraints"), analytical methods require solving systems of simultaneous linear equations. Bilateral cons...
 
Article
Algorithms for adaptive, tapered quantization of color images are described. The research is motivated by the desire to display high-quality reproductions of color images with small frame buffers. It is demonstrated that many color images which would normally require a frame buffer having 15 bits per pixel can be quantized to 8 or fewer bits per pixel with little subjective degradation. In most cases, the resulting images look significantly better than those made with uniform quantization. The color image quantization task is broken into four phases: 1) Sampling the original image for color statistics 2) Choosing a colormap based on the color statistics 3) Mapping original colors to their nearest neighbors in the colormap 4) Quantizing and redrawing the original image (with optional dither). Several algorithms for each of phases 2-4 are described, and images created by each given.
 
Total time in seconds to render all windows as a function of the number of pixels on the side of each window.
Article
An ideal visibility algorithm should a) quickly reject most of the hidden geometry in a model and b) exploit the spatial and perhaps temporal coherence of the images being generated. Ray casting with spatial subdivision does well on criterion (a), but poorly on criterion (b). Traditional Z-buffer scan conversion does well on criterion (b), but poorly on criterion (a). Here we present a hierarchical Z-buffer scan-conversion algorithm that does well on both criteria. The method uses two hierarchical data structures, an object-space octree and an image-space Z pyramid, to accelerate scan conversion. The two hierarchical data structures make it possible to reject hidden geometry very rapidly while rendering visible geometry with the speed of scan conversion. For animation, the algorithm is also able to exploit temporal coherence. The method is well suited to models with high depth complexity, achieving orders of magnitude acceleration in some cases compared to ordinary Z-buffer scan conver...
 
Article
In this paper we introduce through-the-lens camera control, a body of techniques that permit a user to manipulate a virtual camera by controlling and constraining features in the image seen through its lens. Rather than solving for camera parameters directly, constrained optimization is used to compute their time derivatives based on desired changes in user-defined controls. This effectively permits new controls to be defined independent of the underlying parameterization. The controls can also serve as constraints, maintaining their values as others are changed. We describe the techniques in general and work through a detailed example of a specific camera model. Our implementation demonstrates a gallery of useful controls and constraints and provides some examples of how these may be used in composing images and animations. Keywords: camera control, constrained optimization, interaction techniques 1 Introduction Camera placement and control play an important role in image composit...
 
Article
We are presenting techniques for simulating the motion and the deformation of cloth, fabrics or, more generally, deformable surfaces. Our main goal is to be able to simulate any kind of surface without imposing restrictions on shape or geometrical environment. In particular, we are considering difficult situations with respect to deformations and collisions, like wrinkled fabric falling on the ground. Thus, we have enhanced existing algorithms in order to cope with any possible situation. A mechanical model has been implemented to deal with any irregular triangular meshes, handle high deformations despite rough discretisation, and cope with complex interacting collisions. Thus, it should deal efficiently with situations where nonlinearities and discontinuities are really non marginal. Collision detection has also been improved to efficiently detect self-collisions, and also to correctly consider collision orientations despite the lack of surface orientation information from preset geom...
 
Article
Introduction The virtual reality modeling language (VRML) [1] is quickly growing in use and popularity. VRML may help to push fast 3D graphics onto most desktops and into most homes within the next few years. But are people ready to browse virtual-worlds in the same way that they currently browse flatland web pages, and more importantly, are virtual-worlds and virtual-world browsers ready for people ? There are a number of unresolved problems in the field of threedimensional computer-human interaction, including the difficulties world travelers often have finding their way in large unfamiliar virtual environments. How can travelers best find their way to locations of interest and then find their way back to locations previously visited ? How should worlds and world browsers be designed to facilitate skilled wayfinding behavior ? Wayfinding is "the ability to find a way to a particular location in an expedient manner and to recognize the destination when reached", i.e. navigati
 
Article
A formulation for the contact forces between curved surfaces in resting (non-colliding) contact is presented. In contrast to previous formulations, constraints on the allowable tangential movement between contacting surfaces are not required. Surfaces are restricted to be twice-differentiable surfaces without boundary. Only finitely many contact points between surfaces are allowed; however, the surfaces need not be convex. The formulation yields the contact forces between curved surfaces and polyhedra as well. Algorithms for performing collision detection during simulation on bodies composed of both polyhedra and strictly convex curved surfaces are also presented. The collision detection algorithms exploit the geometric coherence between successive time steps of the simulation to achieve efficient running times.
 
Article
Plant organs are often arranged in spiral patterns. This effect is termed spiral phyllotaxis. Well known examples include the layout of seeds in a sunflower head and the arrangement of scales on a pineapple. This paper presents a method for modeling spiral phyllotaxis based on detecting and eliminating collisions between the organs while optimizing their packing. In contrast to geometric models previously used for computer graphics purposes, the new method arranges organs of varying sizes on arbitrary surfaces of revolution. Consequently, it can be applied to synthesize a wide range of natural plant structures.
 
Article
Graphical user interfaces are difficult to implement because of the essential concurrency among multiple interaction devices, such as mice, buttons, and keyboards. Squeak is a user interface implementation language that exploits this concurrency rather than hiding it, helping the programmer to express interactions using multiple devices. We present the motivation, design and semantics of squeak . The language is based on concurrent programming constructs but can be compiled into a conventional sequential language; our implementation generates C code. We discuss how squeak programs can be integrated into a graphics system written in a conventional language to implement large but regular user interfaces, and close with a description of the formal semantics. CR Categories: I3.6 Graphics languages, Interaction techniques D3.1 Formal semantics CR General Terms: Algorithms, Theory, Languages Additional Keywords: Concurrency, User Interfaces Introduction User interface implemen...
 
Article
We propose a new progressive compression scheme for arbitrary topology, highly detailed and densely sampled meshes arising from geometry scanning. We observe that meshes consist of three distinct components: geometry, parameter, and connectivity information. The latter two do not contribute to the reduction of error in a compression setting. Using semi-regular meshes, parameter and connectivity information can be virtually eliminated. Coupled with semi-regular wavelet transforms, zerotree coding, and subdivision based reconstruction we see improvements in error by a factor four (12dB) compared to other progressive coding schemes. CR Categories and Subject Descriptors: I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling - hierarchy and geometric transformations; G.1.2 [Numerical Analysis]: Approximation - approximation of surfaces and contours, wavelets and fractals; I.4.2 [Image Processing and Computer Vision]: Compression (Coding) - Approximate methods Additional K...
 
The Voronoi diagram of a Bézier curve and 5 points (left). The distance mesh for the Bézier curve that has been tessellated into 16 segments (right). 
The per-feature Voronoi diagram of a quadrilateral (left). The corresponding distance mesh (right). 
Adaptive resolution allows us to zoom in on features that could otherwise be missed. 
Problems caused by resolution error. An entire region in the center will be missed since it does not hit any pixel centers (left). The left and right regions, which should meet (middle), become disconnected after rasterization(right). 
Starting from the horizontal edge, a Voronoi region grows upward. The growth stops whenever another Voronoi region is reached.
Article
We present a new approach for computing generalized 2D and 3D Voronoi diagrams using interpolation-based polygon rasterization hardware. We compute a discrete Voronoi diagram by rendering a three dimensional distance mesh for each Voronoi site. The polygonal mesh is a bounded-error approximation of a (possibly) non-linear function of the distance between a site and a 2D planar grid of sample points. For each sample point, we compute the closest site and the distance to that site using polygon scan-conversion and the Z-buffer depth comparison. We construct distance meshes for points, line segments, polygons, polyhedra, curves, and curved surfaces in 2D and 3D. We generalize to weighted and farthest-site Voronoi diagrams, and present efficient techniques for computing the Voronoi boundaries, Voronoi neighbors, and the Delaunay triangulation of points. We also show how to adaptively refine the solution through a simple windowing operation. The algorithm has been implemented on SGI workstations and PCs using OpenGL, and applied to complex datasets. We demonstrate the application of our algorithm to fast motion planning in static and dynamic environments, selection in complex user-interfaces, and creation of dynamic mosaic effects.
 
Article
Today, scientists, engineers and medical researchers routinely use computers to simulate complex physical phenomena. Such simulations present new challenges for computational scientists, including the need to effectively analyze and visualize complex three-dimensional data. As simulations become more complex and produce larger amounts of data, the effectiveness of utilizing such high resolution data will hinge upon the ability of human experts to interact with their data and extract useful information. Here we describe recent work at the SCI Institute in large-scale scalar, vector and tensor visualization techniques. We end with a discussion of ideas for the integration of techniques for creating computational multi-field visualizations
 
Article
This paper discusses how interval analysis can be used to solve a wide variety of problems in computer graphics. These problems include ray tracing, interference detection, polygonal decomposition of parametric surfaces, and CSG on solids bounded by parametric surfaces. Only two basic algorithms are required: SOLVE, which computes solutions to a system of constraints, and MINIMIZE, which computes the global minimum of a function, subject to a system of constraints. We present algorithms for SOLVE and MINIMIZE using interval analysis as the conceptual framework. Crucial to the technique is the creation of "inclusion functions" for each constraint and function to be minimized. Inclusion functions compute a bound on the range of a function, given a similar bound on its domain, allowing a branch and bound approach to constraint solution and constrained minimization. Inclusion functions also allow the MINIMIZE algorithm to compute global rather than local minima, unlike many other numerica...
 
Article
Rivet is a visualization system for the study of complex computer systems. Since computer systems analysis and visualization is an unpredictable and iterative process, a key design goal of Rivet is to support the rapid development of interactive visualizations capable of visualizing large data sets. In this paper, we present Rivet's architecture, focusing on its support for varied data sources, interactivity, composition and user-defined data transformations. We also describe the challenges of implementing this architecture efficiently and flexibly. We conclude with several examples of computer systems visualizations generated within Rivet, including studies of parallel systems, superscalar processors, and mobile network usage. 1
 
Article
We present a method for automatically rendering pen-and-ink illustrations of trees. A given 3-d tree model is illustrated by the tree skeleton and a visual representation of the foliage using abstract drawing primitives. Depth discontinuities are used to determine what parts of the primitives are to be drawn; a hybrid pixel-based and analytical algorithm allows us to deal efficiently with the complex geometric data. Using the proposed method we are able to generate illustrations with different drawing styles and levels of abstraction. The illustrations generated are spatial coherent, enabling us to create animations of sketched environments. Applications of our results are found in architecture, animation and landscaping. CR Categories: I.3.3 [Picture/Image Generation]: Display algorithms--- [I.3.7]: Three-Dimensional Graphics and Realism--- Animation Keywords: Biological Systems, Frame Buffer Tricks, NonRealistic Rendering 1 Introduction During the last years, a variety of techniq...
 
Article
A new approach to ray tracing is introduced. The definition of a "ray" is extended into a cone by including information on the spread angle and the virtual origin. The advantages of this approach, which tries to model light propagation with more fidelity, include a better method of anti-aliasing, a way of calculating fuzzy shadows and dull reflections, a method of calculating the correct level of detail in a procedural model and texture map, and finally, a procedure for faster intersection calculation. CR Categories and Subject Descriptions: I.3.3 [Computer Graphics]: Picture/Image Generation - display algorithms; I.3.7 [Computer Graphics]: Three-dimensional Graphics and Realism - Shading, Shadowing, Texture, Visible Line/Surface Algorithms; General Terms: Algorithms Additional Keywords and Phrases: Ray Tracing, Anti-Aliasing Introduction Ray tracing is a very powerful yet simple approach to image synthesis. Though expensive computationally, it has generated some of the most reali...
 
Article
Visual programming environments are now widely used in application prototyping, data visualization, and system simulations. A synergistic opportunity exists in the application of visual programming methods to the realm of high-performance computing. Here, we highlight the motivations of high-performance computing, system characteristics, and design considerations for a new software programming paradigm. 1 Introduction For many end users in engineering and science, computing is a tool for problem formulation, analysis, and solution. Since computer science has become a rich discipline in and of itself, computing can also be viewed as an obstacle for these individuals. In order to carry out an intensive computing task nowadays, scientists usually must consult experts or independently learn computer languages, numerical analysis, operating systems, computer architectures, database and archival storage technologies, : : : the list can be quite long. Science and engineering would be bette...
 
Article
The Spacetime Constraints (SC) paradigm, whereby the animator specifies what an animated figure should do but not how to do it, is a very appealing approach to animation. However, the algorithms available for realizing the SC approach are limited. Current techniques are local in nature: they all use some kind of perturbational analysis to refine an initial trajectory. We propose a global search algorithm that is capable of generating multiple novel trajectories for SC problems from scratch. The key elements of our search strategy are a method for encoding trajectories as behaviors, and a genetic search algorithm for choosing behavior parameters that is currently implemented on a massively parallel computer. We describe the algorithm and show computed solutions to SC problems for 2D articulated figures. CR Categories: I.2.6 [Artificial Intelligence]: Learning--- parameter learning. I.2.6 [Artificial Intelligence]: Problem Solving, Control Methods and Search---heuristic methods. I.3.7 [...
 
Article
Spacetime constraints are a new method for creating character animation. The animator specifies what the character has to do, for instance, "jump from here to there, clearing a hurdle in between;" how the motion should be performed, for instance "don't waste energy," or "come down hard enough to splatter whatever you land on;" the character's physical structure---the geometry, mass, connectivity, etc. of the parts; and the physical resources available to the character to accomplish the motion, for instance the character 's muscles, a floor to push off from, etc. The requirements contained in this description, together with Newton 's laws, comprise a problem of constrained optimization. The solution to this problem is a physically valid motion satisfying the "what" constraints and optimizing the "how" criteria. We present as examples a Luxo lamp performing a variety of coordinated motions. These realistic motions conform to such principles of traditional animation as anticipation, squas...
 
Article
A simple but general approach to imposing and solving geometric constraints on parameterized models is introduced, applicable to animation as well as model construction. Constraints are expressed as energy functions, and the energy gradient followed through the model's parameter space. Intuitively, energy constraints behave like forces that pull and parametrically deform the parts of the model into place. A wide variety of geometric constraints are amenable to this formulation, and may be used to influence arbitrary model parameters. A catalogue of basic constraints is presented, and results are shown. Keywords --- Constraints, Modeling, Animation 1 Introduction A widely-used approach to modeling is to combine geometric primitives---such as cylinders, blocks, and bicubic patches---with a variety of operators---such as translations, rotations, booleans, and deformations--- to form a model hierarchy. The task of constructing a model within this framework has two parts: building the hi...
 
Article
: This paper develops a systematic approach to deriving dynamic models from parametrically defined solid primitives, global geometric deformations and local finiteelement deformations. Even though their kinematics is stylized by the particular solid primitive used, the models behave in a physically correct way with prescribed mass distributions and elasticities. We also propose efficient constraint methods for connecting these new dynamic primitives together to make articulated models. Our techniques make it possible to build and animate constrained, nonrigid, unibody or multibody objects in simulated physical environments at interactive rates. 1 Introduction The graphics literature is replete with solid object representations. Unfortunately, it is not particularly easy to synthesize realistic animation through direct application of the geometric representations of solid modeling [5], and the problems are exacerbated when animate objects can deform. Physicsbased animation has begun t...
 
Article
Smoothly blended articulated models are often difficult to construct using current techniques. Our solution in this paper is to extend the surfaces introduced by Blinn [Blinn 1982] by using threedimensional convolution with skeletons composed of polygons or curves. The resulting convolution surfaces permit fluid topology changes, seamless part joins, and efficient implementation.
 
Top-cited authors
William E. Lorensen
  • General Electric
Craig Reynolds
T. Derose
  • Pixar Animation Studios
Alan Barr
  • California Institute of Technology
Werner Stuetzle
  • University of Washington Seattle