Constructive Approximation

, Volume 7, Issue 1, pp 257–279 | Cite as

Symmetric recursive algorithms for surfaces: B-patches and the de boor algorithm for polynomials over triangles

  • Hans-Peter Seidel


Using the concept of a symmetric recursive algorithm, we construct a new patch representation for bivariate polynomials: the B-patch. B-patches share many properties with B-spline segments: they are characterized by their control points and by a three-parameter family of knots. If the knots in each family coincide, we obtain the Bézier representation of a bivariate polynomial over a triangle. Therefore B-patches are a generalization of Bézier patches. B-patches have a de Boor-like evaluation algorithm, and, as in the case of B-spline curves, the control points of a B-patch can be expressed by simply inserting a sequence of knots into the corresponding polar form. In particular, this implies linear independence of the blending functions. B-patches can be joined smoothly and they have an algorithm for knot insertion that is completely similar to Boehm's algorithm for curves.

AMS classification


Key words and phrases

Bézier patch Blossom de Boor algorithm B-patch B-spline de Casteljau algorithm Control point Knot insertion Knot net Polar form Symmetric algorithm Triangular patch 


  1. 1.
    P. J. Barry (1987): Urn Models, Recursive Curve Schemes, and Computer Aided Geometric Design, Ph.D. Dissertation, University of Utah, Salt Lake City.Google Scholar
  2. 2.
    R. H. Bartels, J. C. Beatty, B. A. Barsky (1987): An Introduction to Splines for Use in Computer Graphics and Geometric Modelling. San Mateo, CA: Kaufmann.Google Scholar
  3. 3.
    W. Boehm (1980):Inserting new knots into a B-spline. Comput. Aided Design,12:50–62.Google Scholar
  4. 4.
    W. Boehm (1983):The de Boor algorithm for triangular splines. In: Surfaces in CAGD (R. E. Barnhill, W. Boehm eds.). Amsterdam: North-Holland, pp. 109–120.Google Scholar
  5. 5.
    W. Bohem, G. Farin, J. Kahmann (1984):A survey of curve and surface methods in CAGD. Comput. Aided Geom. Design,1:1–60.Google Scholar
  6. 6.
    W. Boehm (1988):On de Boor-like algorithms and blossoming. Comput. Aided Geom. Design,5: 71–79.Google Scholar
  7. 7.
    C. de Boor (1972):On calculating with B-splines. J. Approx. Theory,6:50–62.Google Scholar
  8. 8.
    C. de Boor (1978): A Practical Guide to Splines. New York: Springer-Verlag.Google Scholar
  9. 9.
    P. de Casteljau (1985): Formes à pôles. Paris: Hermes.Google Scholar
  10. 10.
    P. de Casteljau (1986): Shape Mathematics and CAD. London: Kogan Page.Google Scholar
  11. 11.
    T. de Rose, T. Hollman (1987): The Triangle: A Multiprocessor Architecture for Fast Curve and Surface Generation. Technical Report 87-08-07, Computer Science Department, University of Washington, Seattle.Google Scholar
  12. 12.
    G. E. Farin (1979): Subsplines über Dreicken. Dissertation, TU, Braunschweig.Google Scholar
  13. 13.
    G. E. Farin (1980): Bézier Polynomials over Triangles and the Construction of Piecewise C-Polynomials. TR/91, Department Mathematics, Brunel University, Uxbridge, Middlesex.Google Scholar
  14. 14.
    G. E. Farin (1986):Triangular Bernstein-Bézier patches. Comput. Aided Geom. Design,3:83–127.Google Scholar
  15. 15.
    G. E. Farin (1988): Curves and Surfaces for Computer Aided Geometric Design. New York: Academic Press.Google Scholar
  16. 16.
    R. N. Goldman (1985):Pólya's urn model and computer aided geometric design. SIAM J. Algebraic Discrete Methods,6:1–28.Google Scholar
  17. 17.
    W. J. Gordon, R. F. Riesenfeld (1974):B-spline curves and surfaces, in: (R. E. Barnhill, R. F. Riesenfeld eds.) Computer Aided Geometric Design, New York: Academic Press.Google Scholar
  18. 18.
    J.Hoschek (1987): Grundlagen der geometrischen Datenverarbeitung. Fernuniversität Hagen.Google Scholar
  19. 19.
    H. Prautzsch (1984): Unterteilungsalgorithmen für multivariate Splines. Dissertation, TU, Braunschweig.Google Scholar
  20. 20.
    L. Ramshaw (1987): Blossoming: A Connect-the-Dots Approach to Splines. Digital Systems Research Center, Palo Alto.Google Scholar
  21. 21.
    L. Ramshaw (1988):Béziers and B-splines as multiaffine maps. In: Theoretical Foundation of Computer Graphics and CAD, New York: Springer-Verlag, pp. 757–776.Google Scholar
  22. 22.
    L. Ramshaw (1989):Blossoms are polar forms. Comput. Aided Geora. Design,6:323–358.Google Scholar
  23. 23.
    M. A. Sabin (1976): The Use of Piecewise Forms for the Numerical Representation of Shape. Ph.D. Dissertation, Hungarian Academy of Sciences, Budapest.Google Scholar
  24. 24.
    L. L. Schumaker (1981): Spline Functions: Basic Theory. New York: Wiley.Google Scholar
  25. 25.
    H.-P. Seidel (1988):Knot insertion from a blossoming point of view. Comput. Aided Geom. Design,5:81–86.Google Scholar
  26. 26.
    H.-P. Seidel (1989):A new multiaffine approach to B-splines. Comput. Aided Geom. Design,6:23–32.Google Scholar
  27. 27.
    H.-P.Seidel (1989): Polynome, Splines und symmetrische rekursive Algorithmen im Computer Aided Geometric Design. Habilitationsschrift, Tübingen.Google Scholar
  28. 28.
    H.-P. Seidel (1990):Symmetric recursive algorithms for curves. Comput. Aided Geom. Design,7:57–67.Google Scholar
  29. 29.
    E. Stark (1976): Mehrfach differenzierbare Bézier-Kurven und Bézier-Flachen, Dissertation, TU, Braunschweig.Google Scholar

Copyright information

© Springer-Verlag New York Inc 1991

Authors and Affiliations

  • Hans-Peter Seidel
    • 1
  1. 1.Wilhelm-Schickard-Institut für InformatikUniversität TübingenTübingenGermany

Personalised recommendations