Skip to main content
Log in

Integer subdivision algorithm for rendering NURBS curves

  • Published:
The Visual Computer Aims and scope Submit manuscript

Abstract

A integer version of the well-known subdivision algorithm of NURBS curves is presented here. The algorithm is used to render NURBS curves of any degree on a raster device using a piece-wise linear approximation. The approximation is independent of the parametrization, that is, it is independent of the weights used. The maximum deviation between a precisely sampled curve and that of the subdivisionbased rendering is one pixel — an inherent feature of the subdivision technique. The algorithm works entirely in the screen coordinate system and produces smooth rendering of curves without oversampling. The integer arithmetic allows the rendering of relatively complex curves of 2 to 8 degrees within a fraction of a second on an i80286/386 processor, and is a good candidate for hardware implementation.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bartels RH, Beatty JC, Barsky BA (1987) An introduction to splines for use in computer graphics and geometric modeling. Morgan Kaufmann, Los Altos, CA

    Google Scholar 

  2. Boehm W (1990) Inserting new knots into B-spline curves and surfaces. Computer-Aided Design 12(4):199–201

    Google Scholar 

  3. Boehm W (1981) Generating the Bézier points of B-spline curves and surfaces. Computer-Aided Design 13(6):365–366

    Google Scholar 

  4. Boehm W, Prautzsch H (1985) The insertion algorithm. Computer-Aided Design 17(2):58–59

    Google Scholar 

  5. Boehm W, Farin G, Kahmann J (1984) A survey of curve and surface methods in CAGD. Computer Aided Geometric Design 1(1):1–60

    Google Scholar 

  6. Botting RJ (1978) A theory of parametric curve plotting. comput Graph and Image Proc 7:139–145

    Google Scholar 

  7. Chang S-L, Shantz M, Rocchetti R (1989) Rendering cubic curves and surfaces with integer adaptive forward differencing. Comput Graph 23(3):157–166

    Google Scholar 

  8. Cohen E, Lyche T, Riesenfeld RF (1980) Discrete B-splines and subdivision techniques in computer-aided geometric design and computer graphics. Comput Graph and Image Processing 14:87–111

    Google Scholar 

  9. Crampin M, Guifo R, Read GA (1985) Linear approximation of curves with bounded curvature and data reduction algorithm. Computer-Aided Design 17(6):257–261

    Google Scholar 

  10. de Boor C (1978) A practical guide to splines. Springer, New York Berlin Heidelberg

    Google Scholar 

  11. Casteljau P de (1963) Courbes et surfâces a pôles. Andrè Citroën Automobiles SA, Paris

    Google Scholar 

  12. Casteljau P de (1986) Mathematics and CAD, vol 2: Shape mathematics and CAD. Kogan Page, London

    Google Scholar 

  13. Hartly PJ, Judd CJ (1980) Parametrization and shape of B-spline curves for CAD. Computer-Aided Design 12(5):235–238

    Google Scholar 

  14. Imai H, Iri M (1986) Computational-geometric methods for polygonal approximation of a curve. Comput Graph and Image Proc 36:31–41

    Google Scholar 

  15. Koparkar PA, Mudur SP (1983) The development of programs for the processing of parametric curves. Comput Graph Forum 2(2–3):135–144

    Google Scholar 

  16. Koparkar PA, Mudur SP (1983) A new class of algorithms for the processing of parametric curves. Computer-Aided Design 15(1):41–45

    Google Scholar 

  17. Lane JM, Riesenfeld RF (1980) A theoretical development for the computer generation and display of piecewise polynomial surfaces. IEEE Trans on Pattern Analysis and Machine Intelligence, PAMI 2(1):35–46

    Google Scholar 

  18. Lien S-L, Shantz M, Pratt V (1987) Adaptive forward differencing for rendering curves and surfaces. Comput Graph 21(4):111–118

    Google Scholar 

  19. Mastin CW (1986) Parametrization in grid generation. Computer-Aided Design 18(1):22–24

    Google Scholar 

  20. Maxwell PC, Baker PW (1979) The generation of polygons representing circles, ellipses and hyperbolas. Comput Graph and Image Proc 10:84–93

    Google Scholar 

  21. Piegl L (1983) A fast algorithm for parametric curve plotting. Comput Graph 7(3–4):361–367

    Google Scholar 

  22. Piegl L (1991) On NURBS: a survey. IEEE Comput Graph Appl 11(1):55–71

    Google Scholar 

  23. Piegl L, Tiller W (1987) Curve and surface constructions using rational B-splines. Computer-Aided Design 19(9):485–498

    Google Scholar 

  24. Piegl L, Tiller W (1991) Storage efficient decomposition of B-spline curves, TR CSE 91-01, Department of Computer Science and Engineering University of South Florida, Tampa, FL 33620, USA

    Google Scholar 

  25. Ramer U (1972) An interactive procedure for polygonal approximation of plane cuves. Comput Graph and Image Proc 1:244–256

    Google Scholar 

  26. Rockwood AP (1987) A generalized scanning technique for display of parametrically defined surfaces. IEEE Comput Graph Appl 7(8):15–26

    Google Scholar 

  27. Rogers DF, Adams JA (1990) Mathematical elements for computer graphics, 2nd ed. McGraw-Hill, New York

    Google Scholar 

  28. Shantz M, Chang S-L (1988) Rendering trimmed NURBS with adaptive forward differencing. Comput Graph 22(4):189–198

    Google Scholar 

  29. Sharpe RJ, Thorne RW (1982) Numerical method for extracting an arc length parametrization from parametric curves. Computer-Aided Design 14(2):79–81

    Google Scholar 

  30. Smith LB (1971) Drawing ellipses, hyperbolas and parabolas with a fixed number of points and maximum inscribed area. Comput J 14(1):81–86

    Google Scholar 

  31. Stone H (1961) Approximation of curves by line segments. Math Comput 15:40–47

    Google Scholar 

  32. Tiller W (1983) Rational B-splines for curve and surface representation. IEEE Comput Graph Appl 3(10):61–69

    Google Scholar 

  33. Williams CM (1981) An efficient algorithm for piecewise linear approximation of planar curves. Comput Graph and Image Proc 8:286–293

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Anantakrishnan, N., Piegl, L.A. Integer subdivision algorithm for rendering NURBS curves. The Visual Computer 8, 149–161 (1992). https://doi.org/10.1007/BF01902135

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01902135

Key words

Navigation