Recursive Triangles

  • R. N. Goldman
Part of the NATO ASI Series book series (ASIC, volume 307)


In approximation theory and computer aided geometric design many polynomial and piecewise polynomial curve schemes can be generated from simple triangular recursive evaluation algorithms. Most prominent are de Casteljau’s algorithm for Bezier curves [24], de Boor’s algorithm for B-splines [15], and Neville’s algorithm for Lagrange polynomials [19], but similar recursive evaluation algorithms are known for Catmull-Rom splines [4], for convolution curves [1], and for curves defined in terms of the normalized power basis [10], the Newton basis [9], or even the standard monomial basis [10].

These algorithms all have the same basic triangular structure. Points (or vectors or scalars) are placed at the base of a triangular array and combinations of adjacent points (or vectors or scalars), two points at a time, are calculated to generate the next level in the array. These algorithms continue in this fashion until a single value emerges at the apex of the triangle. This value depends linearly on the input points, which are called control points; the coefficients of the control points are called blending functions. The combinations generally depend on some scalar parameter t, and the point that emerges from the apex of the triangle is the point on the parametric curve at the parameter value t. The functions which define the combinations are linear in t, and therefore for triangles of depth N the curve which is generated is a polynomial or piecewise polynomial of degree N in t. Usually die combinations are affine, so generally these curves are affine invariant and their blending functions are partitions of unity.

We call such algorithms recursive triangles. We are going to study these recursive schemes in some detail. Many examples will be provided, and various interrelationships between these different triangular schemes will be highlighted. Connections between recursive curve schemes, discrete probability distributions, and simple stochastic models will be underscored. Change of basis algorithms based on recursive triangles will also be explored.

In Section 1 we introduce recursive triangles with two fundamental examples: Pascal’s triangle for the binomial coefficients and de Casteljau’s algorithm for Bezier curves. Pascal’s triangle for the binomial coefficients is the easiest and best known example of a recursive triangle, and de Casteljau’s algorithm for Bezier curves is the simplest and most basic recursive curve scheme in computer aided geometric design. General triangular recursive curve schemes are then presented and their common properties are recorded. The relationship between these triangular recursive schemes and simple stochastic models is reviewed with special attention given to random walks and urn models. A multiprocessor hardware for fast computation of points along these recursive curves is also briefly discussed.

The two most important general classes of recursive curve schemes are Polya polynomials and B-spline curves. In Section 2 we investigate these two general schemes and tabulate their properties. By broadening the definition of these schemes, we include the Lagrange basis, the Newton basis, the power basis, and the monomial basis. The Polya and B-spline schemes have many dual properties, and we examine this duality and it ramifications in some detail in Section 3. Dual functionals, blossoming, change of basis methods, and knot insertion techniques are our main focus here.

In Section 4 we introduce a few lesser known recursive triangular curve schemes of possible interest in computer aided geometric design by concatenating some simpler or better known schemes. In particular, this approach is used to study Catmull-Rom splines and convolution curves. In Section 5 we very briefly examine recursive surface schemes. We close in Section 6 with a summary of our main results, a few conclusions, and some open questions for possible future investigations.


Approximation Bernstein basis Bezier curve blossoming algorithm de Boor algorithm B-spline curve de Casteljau algorithm Catmull-Rom spline convolution dual functional in-out property interpolation knot insertion algorithm Lagrange polynomial monomial basis Neville algorithm Newton basis Oslo algorithm parallel property Pascal’s triangle Polya polynomial power basis random walk recursive triangle Sablonniere algorithm subdivision algorithm tensor product surface triangular patch urn model 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Barry, P.J. (1987), Urn models, recursive curve schemes, and computer aided geometric design, Ph.D. Thesis, Dept. of Math., Univ. of Utah, Salt Lake City.Google Scholar
  2. 2.
    Barry, P.J., De Boor-Fix functionals and polar forms, to appear in Computer Aided Geometric Design.Google Scholar
  3. 3.
    Barry, P.J., DeRose, A.D., and Goldman, R.N., B-splines, Polya curves, and duality, submitted for publication.Google Scholar
  4. 4.
    Barry, P.J. and Goldman, R.N. (1988), A recursive evaluation algorithm for a class of Catmull-Rom splines, Computer Graphics: Proceedings Siggraph’88, 22, 199–204.CrossRefGoogle Scholar
  5. 5.
    Barry, P.J. and Goldman, R.N. (1989), Three examples of dual properties of Bezier curves, in Tom Lyche and Larry Schumaker (eds.), Mathematical Methods in Computer Aided Geometric Design, Academic Press, San Diego, pp. 61–69.Google Scholar
  6. 6.
    Barry, P.J. and Goldman, R.N. (1989), What is the natural generalization of a Bezier curve?, in Tom Lyche and Larry Schumaker (eds.), Mathematical Methods in Computer Aided Geometric Design, Academic Press, San Diego, pp. 71–85.Google Scholar
  7. 7.
    Barry, P.J. and Goldman, R.N., Recursive polynomial curve schemes and computer aided geometric design, to appear in Constructive Approximation.Google Scholar
  8. 8.
    Barry, P.J. and Goldman, R.N., Interpolation and approximation of curves and surfaces using Polya polynomials, submitted for publication.Google Scholar
  9. 9.
    Barry, P.J. and Goldman, R.N., Shape parameter deletion for Polya curves, submitted for publication.Google Scholar
  10. 10.
    Barry, P.J. and Goldman, R.N., Algorithms for progressive curves: Extending B-spline techniques to the monomial and power bases, submitted for publication.Google Scholar
  11. 11.
    Barry, P.J. and Goldman, R.N., A survey of urn models in computer aided geometric design, submitted for publication.Google Scholar
  12. 12.
    Barry, P.J. and Goldman, R.N., Fast knot insertion, in preparation.Google Scholar
  13. 13.
    Boehm, W. (1980), Inserting new knots into B-splines, Computer Aided Design, 12, 199–201.CrossRefGoogle Scholar
  14. 14.
    Boehm, W., Farin, G., and Kahmann, J. (1984), A survey of curve and surface methods in CAGD, Computer Aided Geometric Design, 1, 1–60.CrossRefzbMATHGoogle Scholar
  15. 15.
    de Boor, C. (1972), On calculating with B-splines, J. Approx. Theory, 6, 50–62.CrossRefzbMATHGoogle Scholar
  16. 16.
    de Boor, C. (1972), A Practical Guide to Splines, Springer-Verlag, New York.Google Scholar
  17. 17.
    de Boor, C. and Fix, G. (1973), Spline approximation by quasi-interpolants, J. Approx. Theory, 8, 19–45.CrossRefzbMATHGoogle Scholar
  18. 18.
    de Boor, C. and Hollig, K. (1987), B-splines without divided differences, in: G. Farin (ed.), Geometric Modeling, SIAM, Philadelphia, pp. 21–27.Google Scholar
  19. 19.
    Burden, R.L., Faires, J.D., and Reynolds, A.C. (1978), Numerical Analysis, Prindle, Weber, and Schmidt, Boston.zbMATHGoogle Scholar
  20. 20.
    de Casteljau, P. (1985), Formes a Poles, Volume 2 of Mathematiques et CAO, Hermes Publishing, Paris.Google Scholar
  21. 21.
    Catmull, E. and Rom, R. (1974), A class of local interpolating splines, in R.E. Barnhill and R.F. Riesenfeld (eds.), Computer Aided Geometric Design, Academic Press, New York, pp. 317–326.Google Scholar
  22. 22.
    Cohen, E., Lyche, T., and Riesenfeld, R. (1980), Discrete B-splines and subdivision techniques in computer aided geometric design and computer graphics, Computer Graphics and Image Processing, 14, 87–111.CrossRefGoogle Scholar
  23. 23.
    DeRose, A.D. and Holman, T.J., The triangle: A multiprocessor architecture for fast curve and surface generation, submitted for publication.Google Scholar
  24. 24.
    Farin, G. (1988), Curves and Surfaces for Computer Aided Geometric Design: A Practical Guide, Academic Press, San Diego.zbMATHGoogle Scholar
  25. 25.
    Filip, D., Magedson, R., and Markot, R. (1986), Surface algorithms using bounds on derivatives, Computer Aided Geometric Design, 3, 295–312.MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    Goldman, R.N. (1983), An urnful of blending functions, IEEE Computer Graphics and Applications, 3, 49–54.CrossRefGoogle Scholar
  27. 27.
    Goldman, R.N. (1985), Polya’s urn model and computer aided geometric design, SIAM Journal on Algebraic and Discrete Methods, 6, 1–28.CrossRefzbMATHGoogle Scholar
  28. 28.
    Goldman, R.N. (1986), Urn models and Beta-splines, IEEE Computer Graphics and Applications, 6, 57–64.CrossRefGoogle Scholar
  29. 29.
    Goldman, R.N. (1988), Urn models, approximations, and splines, J. Approx. Theory, 54, 1–66.MathSciNetCrossRefzbMATHGoogle Scholar
  30. 30.
    Goldman, R.N. (1988), Urn models and B-splines, Constructive Approximation, 4, 265–288.MathSciNetCrossRefzbMATHGoogle Scholar
  31. 31.
    Goldman, R.N., Blossoming and knot insertion algorithms for B-spline curves, submitted for publication.Google Scholar
  32. 32.
    Goldman, R.N. and Barry, P.J. (1989), Algorithms in the style of Boehm and Sablonniere, Olberwolfach Conference on Curves and Surfaces in CAGD.Google Scholar
  33. 33.
    Johnson, N.L. and Kotz, S. (1977), Urn Models and Their Applications, Wiley, New York.Google Scholar
  34. 34.
    Lane, J.M. and Riesenfeld, R.F. (1980), A theoretical development for the computer generation and display of piecewise polynomial surfaces, IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-2, 35–46.Google Scholar
  35. 35.
    Ramshaw, L. (1987), Blossoming: A Connect the Dots Approach to Splines, Digital Systems Research Center, Report 19, Palo Alto, California.Google Scholar
  36. 36.
    Ramshaw, L. (1988), Beziers and B-splines as multiaffine maps, in R.A. Earnshaw (ed.), Theoretical Foundations of Computer Graphics and CAD, NATO ASI Series F, Vol. 40, Springer-Verlag, New York, pp. 757–776.Google Scholar
  37. 37.
    Ramshaw, L. (1989), Blossoms are polar forms, Digital Equipment Corporation, Report 34, Palo Alto, California.Google Scholar
  38. 38.
    Sablonniere, P. (1978), Spline and Bezier polygons associated with a polynomial spline curve, Computer Aided Design, 10, 257–261.CrossRefGoogle Scholar
  39. 39.
    Schumaker, L.L. (1981), Spline Functions: Basic Theory, Wiley, New York.zbMATHGoogle Scholar
  40. 40.
    Seidel, H.P. (1988), Knot insertion from a blossoming point of view, Computer Aided Geometric Design, 5, 81–86.MathSciNetCrossRefzbMATHGoogle Scholar
  41. 41.
    Seidel, H.P. (1989), A new multiaffine approach to B-splines, Computer Aided Geometric Design, 6, 23–32.MathSciNetCrossRefzbMATHGoogle Scholar
  42. 42.
    Seidel, H.P., Symmetric recursive algorithms for curves, submitted for publication.Google Scholar
  43. 43.
    Seidel, H.P., Symmetric recursive algorithms for surfaces: B-patches and the de Boor algorithm for polynomials over triangles, submitted for publication.Google Scholar
  44. 44.
    Shoemake, K. (1985), Animating rotation with quaternion curves, Proceedings Siggraph’85, 245–254.Google Scholar
  45. 45.
    Stancu, D.D. (1968), Approximation of functions by a new class of polynomial linear operators, Rev. Roum. Math. Pures et Appl., 13, 1173–1194.MathSciNetzbMATHGoogle Scholar
  46. 46.
    Stancu, D.D. (1969), Use of probabilistic methods in the theory of uniform approximation of continuous functions, Rev. Roum. Math. Pures et Appl., 14, 673–691.MathSciNetzbMATHGoogle Scholar
  47. 47.
    Wang, Guo-Zhao (1984), The subdivision method for finding the intersection between two Bezier curves or surfaces, Zhejiang University Journal, Zhejiang University, Hangzhou, Zhejiang, Peoples Republic of China, [Special Issue on Computational Geometry (in Chinese)].Google Scholar

Copyright information

© Kluwer Academic Publishers 1990

Authors and Affiliations

  • R. N. Goldman
    • 1
  1. 1.Computer Graphics Laboratory, Department of Computer ScienceUniversity of WaterlooWaterlooCanada

Personalised recommendations