# Recursive Triangles

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

## 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 , de Boor’s algorithm for B-splines , and Neville’s algorithm for Lagrange polynomials , but similar recursive evaluation algorithms are known for Catmull-Rom splines , for convolution curves , and for curves defined in terms of the normalized power basis , the Newton basis , or even the standard monomial basis .

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

## References

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.
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.
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.
15. 15.
de Boor, C. (1972), On calculating with B-splines, J. Approx. Theory, 6, 50–62.
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.
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.
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.
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.
25. 25.
Filip, D., Magedson, R., and Markot, R. (1986), Surface algorithms using bounds on derivatives, Computer Aided Geometric Design, 3, 295–312.
26. 26.
Goldman, R.N. (1983), An urnful of blending functions, IEEE Computer Graphics and Applications, 3, 49–54.
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.
28. 28.
Goldman, R.N. (1986), Urn models and Beta-splines, IEEE Computer Graphics and Applications, 6, 57–64.
29. 29.
Goldman, R.N. (1988), Urn models, approximations, and splines, J. Approx. Theory, 54, 1–66.
30. 30.
Goldman, R.N. (1988), Urn models and B-splines, Constructive Approximation, 4, 265–288.
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.
39. 39.
Schumaker, L.L. (1981), Spline Functions: Basic Theory, Wiley, New York.
40. 40.
Seidel, H.P. (1988), Knot insertion from a blossoming point of view, Computer Aided Geometric Design, 5, 81–86.
41. 41.
Seidel, H.P. (1989), A new multiaffine approach to B-splines, Computer Aided Geometric Design, 6, 23–32.
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.
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.
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