scispace - formally typeset
Search or ask a question

Showing papers in "ACM Transactions on Graphics in 1990"


Journal ArticleDOI
TL;DR: This paper presents a front-to-back image-order volume-rendering algorithm and discusses two techniques for improving its performance, which employs a pyramid of binary volumes to encode spatial coherence present in the data and uses an opacity threshold to adaptively terminate ray tracing.
Abstract: Volume rendering is a technique for visualizing sampled scalar or vector fields of three spatial dimensions without fitting geometric primitives to the data. A subset of these techniques generates images by computing 2-D projections of a colored semitransparent volume, where the color and opacity at each point are derived from the data using local operators. Since all voxels participate in the generation of each image, rendering time grows linearly with the size of the dataset. This paper presents a front-to-back image-order volume-rendering algorithm and discusses two techniques for improving its performance. The first technique employs a pyramid of binary volumes to encode spatial coherence present in the data, and the second technique uses an opacity threshold to adaptively terminate ray tracing. Although the actual time saved depends on the data, speedups of an order of magnitude have been observed for datasets of useful size and complexity. Examples from two applications are given: medical imaging and molecular graphics.

1,096 citations


Journal ArticleDOI
TL;DR: A new interpolatory subdivision scheme for surface design is presented that is designed for a general triangulation of control points and has a tension parameter that provides design flexibility.
Abstract: A new interpolatory subdivision scheme for surface design is presented. The new scheme is designed for a general triangulation of control points and has a tension parameter that provides design flexibility. The resulting limit surface is C1 for a specified range of the tension parameter, with a few exceptions. Application of the butterfly scheme and the role of the tension parameter are demonstrated by several examples.

872 citations


Journal ArticleDOI
TL;DR: This paper describes a general-purpose programming technique, called Simulation of Simplicity, that can be used to cope with degenerate input data for geometric algorithms and it is believed that this technique will become a standard tool in writing geometric software.
Abstract: This paper describes a general-purpose programming technique, called Simulation of Simplicity, that can be used to cope with degenerate input data for geometric algorithms. It relieves the programmer from the task of providing a consistent treatment for every single special case that can occur. The programs that use the technique tend to be considerably smaller and more robust than those that do not use it. We believe that this technique will become a standard tool in writing geometric software.

659 citations


Journal ArticleDOI
TL;DR: A precise definition of the extended octree model that allows the representation of nonmanifold objects with planar faces and, consequently, is closed under Boolean operations on polyhedrons is concerned.
Abstract: Solid modelers must be based on reliable and fast algorithms for Boolean operations. The octree model, as well as several generalizations (polytrees, integrated polytrees, extended octrees), is specially well suited for these algorithms and can be used either as a primary or as a secondary model in solid modeling systems. This paper is concerned with a precise definition of the extended octree model that allows the representation of nonmanifold objects with planar faces and, consequently, is closed under Boolean operations on polyhedrons. Boolean nodes and nearly vertex nodes are introduced, and the model is discussed in comparison with related representations. A fast algorithm for the direct generation of the extended octree from the geometry of the base polygon in extrusion solids is presented, and its complexity is studied. Boolean operation algorithms are introduced.

107 citations


Journal ArticleDOI
TL;DR: An extension of the radiosity method is presented that rigorously accounts for the presence of a small number of specularly reflecting surfaces in an otherwise diffuse scene, and for the existence of asmall number of Specular or ideal diffuse transmitters.
Abstract: An extension of the radiosity method is presented that rigorously accounts for the presence of a small number of specularly reflecting surfaces in an otherwise diffuse scene, and for the presence of a small number of specular or ideal diffuse transmitters. The relationship between the extended method and earlier radiosity and ray-tracing methods is outlined. It is shown that all three methods are based on the same general equation of radiative transfer. A simple superposition of the earlier radiosity and ray-tracing methods in order to account for specular behavior is shown to be physically inconsistent, as the methods are based on different assumptions. Specular behavior is correctly included in the present method. The extended radiosity method and example images are presented.

88 citations


Journal ArticleDOI
TL;DR: The algorithm explores the nature of a particular class of triangulations of Euclidean space, namely, those generated by reflections, and accumulates essentially no round-off error and has a well-defined integer test for detecting a loop.
Abstract: We present a method for tracing a curve that is represented as the contour of a function in Euclidean space of any dimension. The method proceeds locally by following the intersections of the contour with the facets of a triangulation of space. The algorithm does not fail in the presence of high curvature of the contour; it accumulates essentially no round-off error and has a well-defined integer test for detecting a loop. In developing the algorithm, we explore the nature of a particular class of triangulations of Euclidean space, namely, those generated by reflections.

70 citations


Journal ArticleDOI
TL;DR: In this paper an algorithm is developed based on the original Bresenham scan-conversion together with the symmetry first noted by Gardner [18] and a recent double-step technique that results in a speed-up of scan- Conversion by a factor of approximately 4.
Abstract: A major bottleneck in many graphics displays is the time required to scan-convert straight line segments. Most manufacturers use hardware based on Bresenham's [5] line algorithm. In this paper an algorithm is developed based on the original Bresenham scan-conversion together with the symmetry first noted by Gardner [18] and a recent double-step technique [31]. This results in a speed-up of scan-conversion by a factor of approximately 4 as compared to the original Bresenham algorithm. Hardware implementations are simple and efficient since the property of using only shift and increment operations is preserved.

45 citations


Journal ArticleDOI
TL;DR: A new technique to display a scene of three-dimensional isothetic parallelepipeds (3D-rectangles), viewed from infinity along one of the coordinate axes (axial view), which improves over the previously best known technique based on the same approach.
Abstract: We present a new technique to display a scene of three-dimensional isothetic parallelepipeds (3D-rectangles), viewed from infinity along one of the coordinate axes (axial view). In this situation, there always exists a topological sorting of the 3D-rectangles based on the relation of occlusion (a dominance relation). The arising total order is used to generate the axial view, where the two-dimensional view of each 3D-rectangle is incrementally added, starting from the closest 3D-rectangle. The proposed scene-sensitive algorithm runs in time O(N log2N + d log N), where N is the number of 3D-rectangles and d is the number of edges of the display. This improves over the previously best known technique based on the same approach.

37 citations


Journal ArticleDOI
TL;DR: This paper describes a mechanism for grouping a set of icons that depict several views of a single object into one multidimensional icon, each describing a unique view of an object into a single entity.
Abstract: Background: Direct manipulation interfaces, such as the Macintosh desktop, often represent objects with icons [l, 41. For example, text files are represented by icons. Selection of the icon invokes an editor to view the file it represents, thus the icon not only represents the text file but also represents a text editor used to view the text file. Each type of object is viewed by using a specific program. Diagram objects, for example, require a graphical editor to view. In a typical iconic interface, icons represent a single view of an object.While the single-view single-icon model has proven very intuitive and easy to use, some objects have more than one logical view [2]. Program code can be viewed as text by using a text editor, or it can be viewed as program code by a compiler. The machine code that corresponds to the program code can be thought of as another view, thus the execution of a program can be thought of as another view of program code. This paper describes a mechanism for grouping a set of icons that depict several views of a single object into one multidimensional icon.Multidimensional icons group sets of icons, each describing a unique view of an object, into a single entity. The individual icons are projected onto the sides of a simulated cube. There are two distinct advantages to using a cube instead of displaying all the icons in a menu. The first advantage is that since cubes are very familiar objects, it is a natural mental model to think of the faces of a cube as views of the entire cube—views of the actual object. The second advantage is that by allowing rotation of the cube, several icons representing views of an object are accessible using only a fraction of the screen space required to display all the icons.

36 citations


Journal ArticleDOI
TL;DR: A detailed description of the implementation of a three-dimensional convex hull algorithm is given and attention is paid to those issues that are often brushed over in the theoretical descriptions but cause errors in a real computation.
Abstract: A detailed description of the implementation of a three-dimensional convex hull algorithm is given. The problems experienced in the production and testing of a correct and robust implementation of a geometric algorithm are discussed. Attention is paid to those issues that are often brushed over in the theoretical descriptions but cause errors in a real computation. These include degeneracies such as coplanar points, floating-point errors, and other special, but not necessarily degenerate, cases.

29 citations


Journal ArticleDOI
John D. Hobby1
TL;DR: This work examines a class of algorithms for rasterizing algebraic curves based on an implicit form that can be evaluated cheaply in integer arithmetic using finite differences, and solves an important undersampling problem.
Abstract: We examine a class of algorithms for rasterizing algebraic curves based on an implicit form that can be evaluated cheaply in integer arithmetic using finite differences. These algorithms run fast and produce “optimal” digital output, where previously known algorithms have had serious limitations. We extend previous work on conic sections to the cubic and higher order curves, and we solve an important undersampling problem.

Journal ArticleDOI
Barry Joe1
TL;DR: It is shown that quartic (and higher degree) rational Beta-splines with arc-length continuity satisfy the same continuity conditions as (nonrational) Beta- Splines, and that the torsion continuous spline curves presented by Boehm are equivalent to nonrational quartic Beta-Spline curves.
Abstract: Quartic Beta-splines have third-degree arc-length or geometric continuity at simple knots and are determined by three b or shape parameters. We present a general explicit formula for quartic Beta-splines, and determine and illustrate the effects of varying the b parameters on the shape of a quartic Beta-spline curve. We show that quartic (and higher degree) rational Beta-splines with arc-length continuity satisfy the same continuity conditions as (nonrational) Beta-splines. We also show that the torsion continuous spline curves presented by Boehm ("Smooth Curves and Surfaces.” In Geometric Modeling: Algorithms and New Trends, G. E. Farin, Ed. SIAM, Philadelphia, Pa., 1987, pp. 175-184.) are equivalent to nonrational quartic Beta-spline curves, and determine the relationship between the shape parameters for the two types of curves. Finally, we present an algorithm for inserting a new knot and determining the refined control polygon.

Journal ArticleDOI
TL;DR: In this paper, the curvatures of B-spline surfaces over an arbitrary topology have been investigated and conditions on subdivision weightings for tangent plane continuity at extraordinary points were established.
Abstract: The continuity properties of recursively generated B-spline surfaces over an arbitrary topology have been related to the eigenproperties of the local subdivision tranformation, and conditions have been established on the subdivision weightings for tangent plane continuity at extraordinary points. In this paper, curves through an extradordinary point, which align in both the tagent and binormal direction, are identified, and their curvatures are compared either side of the point. Further restrictions on the subdivision weightings are derived to optimize the curvature properties of the surface. In general continuity of curvature is not attained.

Journal ArticleDOI
TL;DR: A new technique which shows promise in overcoming the problem of derivative discontinuities in interpolation, based on describing the interpolation problem directly as a system of linear equations rather than as a curve-blending problem.
Abstract: In industrial design, the tool of choice for constructing surfaces that interpolate curves is the Boolean sum surface technique. However, if curves do not lie on constant parameter lines, reparametrizations will be needed, and this may introduce derivative discontinuities. A new technique which shows promise in overcoming this problem is described here. The method is based on describing the interpolation problem directly as a system of linear equations rather than as a curve-blending problem. The resulting system of equations is usually underdetermined and can be solved using numerical linear algebra methods without the a priori determination of certain parameters. The “free” parameters can be used to control the shape of the resulting surface. Two examples of the procedure are given.

Journal ArticleDOI
TL;DR: The RGYB geometry is based on two recent discoveries about the human visual system, and represents colors as a set of surfaces of colors that vary in chromaticity, each at a different level of brightness.
Abstract: Background:The gamut of a color CRT is defined by its three primary colors, each produced by a phosphor/electron gun combination. Light from the primaries combines additively, so the color gamut is a subset of a three dimensional vector space [1]. With the primaries as basis vectors normalized to 1.0, the color gamut is a unit cube, known as the RGB color geometry, since the three primaries are usually red, green, and blue. User interaction via RGB is generally thought to be counterintuitive, and transformations of RGB, such as Smith's HSV geometry [10] which is derived from centuries old artists' models [2], are more popular. More recent color theories, based on psychophysical and physiological models of early visual processing, suggest that more intuitive geometries may be possible.The RGYB geometry is based on two recent discoveries about the human visual system. First, the three color signals from the cone receptors are organized into three opponent channels [1, 7]. A single achromatic channel indicates lightness or brightness. Two chromatic channels, red/green and yellow/blue, signal the chromatic quantities. Second, signals on the achromatic channel are easily distinguishable from signals on the chromatic ones [6]. Consequently, it is usual to represent colors as a set of surfaces of colors that vary in chromaticity, each at a different level of brightness. Examples are as diverse as CIE chromaticity coordinates, the CIELUV uniform color space, the Munsell color system, and computer graphics color spaces such as HSV and HLS [10, 12].

Journal ArticleDOI
TL;DR: A method for obtaining pleasing prints from display image data is presented and assumes that good results can be achieved by users who do not have extensive knowledge of color reproduction and who have a minimum of color measuring equipment available.
Abstract: To print image data optimized for display on a color monitor, the red, green, and blue values that drive the display must be transformed into data that control the amounts of cyan, magenta, yellow, and black on the print. The differences in the way display and print images are produced have important consequences for the transformation. Matching the appearance of the monitor and print images may be impossible, and achieving satisfactory results is complex. A method for obtaining pleasing prints from display image data is presented. This method assumes that good results can be achieved by users who do not have extensive knowledge of color reproduction and who have a minimum of color measuring equipment available.

Journal ArticleDOI
Barry Joe1
TL;DR: A stronger version of one of these properties is proved, from which a new algorithm for computing discrete Beta-splines is obtained, and a comparison of operation counts for this algorithm versus other algorithms, and for two methods to compute the new control vertices of Beta- Spline and B-spline curves and surfaces.
Abstract: Discrete Beta-splines arise when a Beta-spline curve is subdivided; that is, extra knots are inserted so that the curve is expressed in terms of a larger number of control vertices and Beta-splines. Their properties and an algorithm for their computation are given in “Discrete Beta-Splines” by Joe (Computer Graphics, vol. 21, pp. 137-144). We prove a stronger version of one of these properties, from which a new algorithm for computing discrete Beta-splines is obtained. This algorithm can also be used to compute discrete B-splines. We give a comparison of operation counts for this algorithm versus other algorithms, and for two methods to compute the new control vertices of Beta-spline and B-spline curves and surfaces.

Journal ArticleDOI
TL;DR: An algebrogeometric technique is developed for obtaining an upper bound on the number of intersection points of two irreducible algebraic curves in k-dimensional space and the implications for computer-aided geometric design are discussed.
Abstract: Bezout's theorem gives an upper bound on the degree of the intersection of properly intersecting algebraic varieties. In spaces of dimension higher than two, however, intersections between many algebraic varieties such as curves are improper. Bezout's theorem cannot be directly used to bound the number of points at which these curves intersect. In this paper an algebrogeometric technique is developed for obtaining an upper bound on the number of intersection points of two irreducible algebraic curves in k-dimensional space. The theorems obtained are applied to the specific case of intersecting algebraic space curves in three-dimensional space, and a number of examples are analyzed in this regard. The implications of the derived results for computer-aided geometric design are discussed.

Journal ArticleDOI
TL;DR: A Bézier representation of τ-splines, curvature and torsion-continuous quintic spline curves, which were introduced in CAGD by Hagen in 1985, is presented and positivity conditions for the design parameters and certain ranges of tension values are derived, which ensure properties like the convex hull and the variation-diminishing property of the Β-spline-BéZier representation.
Abstract: We present a Bezier representation of t-splines, curvature and torsion-continuous quintics, which were introduced in CAGD by Hagen in 1985 [32]. Explicit formulas are given for the conversion from Bezier representation to t-spline representation, and vice versa. Thus, by embedding the Bezier representation in a B-spline representation of curvature and torsion-continuous quintic spline curves, given in [20], a B-spline-Bezier representation of t-splines results.Second, positivity conditions for the design parameters of the Bezier representation and certain ranges of tension values are derived, which ensure properties like the convex hull and the variation-diminishing property of the B-spline-Bezier representation.

Journal ArticleDOI
TL;DR: This work describes how simple program equivalences may be used as program transformations to eliminate this additional execution time from programs that use geometric transformations.
Abstract: Problems in geometry often possess symmetry properties that may be exploited in order to develop solutions. Algorithms based on these symmetry properties will frequently use geometric transformations to transform one case into another (symmetric) case. One advantage of this approach is that the algorithm avoids enumeration of cases and thus is shorter and generally easier to read. One disadvantage is that some additional execution time is required to perform these transformations. We describe how simple program equivalences may be used as program transformations to eliminate this additional execution time from programs that use geometric transformations. This approach has been used to develop an efficient implementation of a new algorithm for the two-dimensional line-clipping problem.

Journal ArticleDOI
Andrew S. Glassner1
TL;DR: This work has developed a compact control device which allows a user to continuously adjust the aspect ratio of the world data presented to the window, based on the projection of the window on the untouched world data.
Abstract: Description: Many two-dimensional graphics programs provide a user with a rectangular screen window for viewing a two-dimensional image. Common examples of this underlying “world” image include text, line, or shaded pictures, and plots of one- or two-dimensional functions. Typically the screen image cannot display the world image with a 1:1 ratio between screen units (pixels) and the smallest resolvable world units. Thus the screen image is typically scaled and panned across the world image. The scaling is often differential, i.e., different scaling factors are applied in X and Y. Suppose a user is viewing a function y = f(x) at a ratio of 1:1. Increasing the scale factor in X will bring more data into view, while retaining vertical amplitude; increasing the scale factor in Y will provide a finer view of the values of the function, while retaining the range plotted.We have developed a compact control device which allows a user to continuously adjust the aspect ratio of the world data presented to the window. Our model is based on the projection of the window on the untouched world data. If the screen window is narrow and tall in the world data, then the world data will be expanded horizontally and compressed vertically when displayed on the screen (note that the window itself never changes size on the screen). Accompanying the aspect ratio selection is a zoom multiplier, which can uniformly grow or shrink the screen window's image in the world. We also include variable-speed scrolling controls. Scrolling and uniform zooming are decoupled from differential scaling. The advantage of our technique is that the user need not independently scale X and Y while searching for the proper scaling of data; although both may be adjusted individually, and may also be adjusted simultaneously in a coupled, single-position device. Thus a single-button input device (such as a mouse) is all that is needed to control any aspect of the display. The technique has the additional advantage of being nonmodal, so the user need not remember any state during operation.