“Adaptive forward differencing for rendering curves and surfaces” by Lien, Shantz and Pratt

  • ©Sheue-Ling Lien, Michael Shantz, and Vaughan Pratt




    Adaptive forward differencing for rendering curves and surfaces



    An adaptive forward differencing algorithm is presented for rapid rendering of cubic curves and bicubic surfaces. This method adjusts the forward difference step size so that approximately one pixel is generated along an ordinary or rational cubic curve for each forward difference step. The adjustment involves a simple linear transformation on the coefficients of the curve which can be accomplished with shifts and adds. This technique combines the advantages of traditional forward differencing and adaptive subdivision. A hardware implementation approach is described including the adaptive control of a forward difference engine. Surfaces are rendered by drawing many curves spaced closely enough together so that no pixels are left unpainted. A simple curve anti-aliasing algorithm is also presented in this paper. Anti-aliasing cubic curves is supported via tangent vector output at each forward difference step. The adaptive forward differencing algorithm is also suitable for software implementation.


    1. Jerry Van Aken and Mark Novak, “Curve-Drawing Algorithms for Raster Displays,” ACM Transactions on Graphics, vol. 4, no. 2, pp. 147-169, April 1985.
    2. Edwin Catmull, A Subdivision Algorithm for Computer Display of Curved Surfaces, Thesis in Computer Science, University of Utah, UTEC-CSc-74-133, 1974.
    3. George M. Chaikin, “An Algorithm for High Speed Curve Generation,” Computer Graphics and linage Processing, vol. 3, pp. 346-349, 1974.
    4. Steven A. Coons, Surfaces for Computer-Aided Design of Space Forms, Project MAC, MIT, MAC-TR-41, June 1967.
    5. Jeffrey Lane, Loren Carpenter, Turner Whitted, and James Blinn, “Scan Line Methods for Displaying Parametrically Defined Surfaces,” CACM, vol. 23, no. 1, January 1980.
    6. Jeffrey M. Lane and Richard F. Riesenfeld, “A Theoretical Development for the Computer Generation of Piecewise Polynomial Surfaces,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. PAMI-2, no. 1, pp. 35-46, January 1980.
    7. M.L.V. Pitteway, “Algorithm for drawing ellipses or hyperbolae with a digital plotter,” Computer Journal, vol. 10, no. 3, pp. 282-289, Nov. 1967.
    8. Vaughan Pratt, “Techniques for Conic Splines,” Computer Graphics, vol. 19, no. 3, July 1985.
    9. Michael Shantz and Sheue-Ling Lien, “Shading Bicubie Patches,” Computer Graphics, vol. 21, no. 4, July 1987.

ACM Digital Library Publication: