Computation of Curves and Surfaces pp 27-72 | Cite as

# Recursive Triangles

## Abstract

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.

## Keywords

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## Preview

Unable to display preview. Download preview PDF.

## References

- 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.Barry, P.J., De Boor-Fix functionals and polar forms, to appear in Computer Aided Geometric Design.Google Scholar
- 3.Barry, P.J., DeRose, A.D., and Goldman, R.N., B-splines, Polya curves, and duality, submitted for publication.Google Scholar
- 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.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.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.Barry, P.J. and Goldman, R.N., Recursive polynomial curve schemes and computer aided geometric design, to appear in Constructive Approximation.Google Scholar
- 8.Barry, P.J. and Goldman, R.N., Interpolation and approximation of curves and surfaces using Polya polynomials, submitted for publication.Google Scholar
- 9.Barry, P.J. and Goldman, R.N., Shape parameter deletion for Polya curves, submitted for publication.Google Scholar
- 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.Barry, P.J. and Goldman, R.N., A survey of urn models in computer aided geometric design, submitted for publication.Google Scholar
- 12.Barry, P.J. and Goldman, R.N., Fast knot insertion, in preparation.Google Scholar
- 13.Boehm, W. (1980), Inserting new knots into B-splines, Computer Aided Design, 12, 199–201.CrossRefGoogle Scholar
- 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.de Boor, C. (1972), On calculating with B-splines, J. Approx. Theory, 6, 50–62.CrossRefzbMATHGoogle Scholar
- 16.de Boor, C. (1972),
*A Practical Guide to Splines*, Springer-Verlag, New York.Google Scholar - 17.de Boor, C. and Fix, G. (1973), Spline approximation by quasi-interpolants, J. Approx. Theory, 8, 19–45.CrossRefzbMATHGoogle Scholar
- 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.Burden, R.L., Faires, J.D., and Reynolds, A.C. (1978),
*Numerical Analysis*, Prindle, Weber, and Schmidt, Boston.zbMATHGoogle Scholar - 20.de Casteljau, P. (1985),
*Formes a Poles*, Volume 2 of Mathematiques et CAO, Hermes Publishing, Paris.Google Scholar - 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.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.DeRose, A.D. and Holman, T.J., The triangle: A multiprocessor architecture for fast curve and surface generation, submitted for publication.Google Scholar
- 24.Farin, G. (1988),
*Curves and Surfaces for Computer Aided Geometric Design: A Practical Guide*, Academic Press, San Diego.zbMATHGoogle Scholar - 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.Goldman, R.N. (1983), An urnful of blending functions, IEEE Computer Graphics and Applications, 3, 49–54.CrossRefGoogle Scholar
- 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.Goldman, R.N. (1986), Urn models and Beta-splines, IEEE Computer Graphics and Applications, 6, 57–64.CrossRefGoogle Scholar
- 29.Goldman, R.N. (1988), Urn models, approximations, and splines, J. Approx. Theory, 54, 1–66.MathSciNetCrossRefzbMATHGoogle Scholar
- 30.Goldman, R.N. (1988), Urn models and B-splines, Constructive Approximation, 4, 265–288.MathSciNetCrossRefzbMATHGoogle Scholar
- 31.Goldman, R.N., Blossoming and knot insertion algorithms for B-spline curves, submitted for publication.Google Scholar
- 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.Johnson, N.L. and Kotz, S. (1977),
*Urn Models and Their Applications*, Wiley, New York.Google Scholar - 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.Ramshaw, L. (1987),
*Blossoming: A Connect the Dots Approach to Splines*, Digital Systems Research Center, Report 19, Palo Alto, California.Google Scholar - 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.Ramshaw, L. (1989), Blossoms are polar forms, Digital Equipment Corporation, Report 34, Palo Alto, California.Google Scholar
- 38.Sablonniere, P. (1978), Spline and Bezier polygons associated with a polynomial spline curve, Computer Aided Design, 10, 257–261.CrossRefGoogle Scholar
- 39.Schumaker, L.L. (1981),
*Spline Functions: Basic Theory*, Wiley, New York.zbMATHGoogle Scholar - 40.Seidel, H.P. (1988), Knot insertion from a blossoming point of view, Computer Aided Geometric Design, 5, 81–86.MathSciNetCrossRefzbMATHGoogle Scholar
- 41.Seidel, H.P. (1989), A new multiaffine approach to B-splines, Computer Aided Geometric Design, 6, 23–32.MathSciNetCrossRefzbMATHGoogle Scholar
- 42.Seidel, H.P., Symmetric recursive algorithms for curves, submitted for publication.Google Scholar
- 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.Shoemake, K. (1985), Animating rotation with quaternion curves, Proceedings Siggraph’85, 245–254.Google Scholar
- 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.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.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