##
**Curves and surfaces for computer aided geometric design. A practical guide.
2nd ed.**
*(English)*
Zbl 0702.68004

Computer Science and Scientific Computing. Boston etc.: Academic Press. XVII, 444 p. $ 39.95 (1990).

The main topics of this book are the concepts of Bézier, B-spline and Coons methods for curve and surface fitting as needed for CAD/CAM systems, geometric modelling and graphics programming. The first chapter is written by P. Bézier and contains a historic account of how computer aided design has developed.

Two further chapters are written by W. Boehm. They provide the mathematical tools of Differential Geometry used in the discussion of geometric continuity.

Compared to the first edition this book has been considerably extended and revised. Some twenty C programs are added and also nearly 20 new sections. In particular rational surfaces and geometric \(C^ 1\) joints of polynomial surfaces are covered now by the 2nd edition.

The book starts with an introduction to the Bézier representation of polynomials. As typical of this book, the author developes this and other concepts algorithmically by simple geometric constructions. Students with a dislike for mathematical abstraction will appreciate this. But also the experienced reader will find this approach intriguing.

Last not least, the book helps to develop a geometric understanding. Many excellent figures accompany the text and more than that, form a natural part of it. This geometric and constructive point of view give the book a unique quality.

After the essential properties of Bézier curves are developed, polynomial interpolation is considered including the Lagrange and Newton form, and cubic and quintic Hermite interpolation. Spline curves are then introduced as composite quadratic and cubic Bézier curves with \(C^ 1\) respectively \(C^ 2\) continuity, while general splines are derived via knot insertion. As an application piecewise cubic interpolation and cubic spline interpolation is discussed.

A survey on geometric continuity follows encompassing \(\nu\)-, \(\gamma\)- and \(\beta\)-splines. The curve part of the book ends with chapters on conic sections and rational Bézier and B-spline curves.

The remainder of the text is devoted to surface topics: bilinear interpolation, tensor product Bézier patches, two short sections on curve distortion via volume deformations and trimmed surfaces, Bézier triangles, rational Bézier triangles, quadrics, geometric \(C^ 1\) joints, Coons patches, Gregory’s square, Gordon surfaces, triangular Coons patches, interrogation and smoothing.

Of course, no text can cover everything. Here, the reader will not find a treatment of solid modeling, offsets, intersection problems, rendering or special topics like n-sided patches, multivariate splines, interpolation with splines of higher degree, or corner cutting algorithms. Many references to these topics are given in the text. (The fairly good bibliography lists 355 titles.) The book contains also a short dictionary of important terms and almost every chapter comprises a section of problems.

Altogether, this book gives a solid introduction to CAGD methods, points out their advantages and disadvantages, can function as a reference book for programmers in CAGD, and is a perfect textbook.

Two further chapters are written by W. Boehm. They provide the mathematical tools of Differential Geometry used in the discussion of geometric continuity.

Compared to the first edition this book has been considerably extended and revised. Some twenty C programs are added and also nearly 20 new sections. In particular rational surfaces and geometric \(C^ 1\) joints of polynomial surfaces are covered now by the 2nd edition.

The book starts with an introduction to the Bézier representation of polynomials. As typical of this book, the author developes this and other concepts algorithmically by simple geometric constructions. Students with a dislike for mathematical abstraction will appreciate this. But also the experienced reader will find this approach intriguing.

Last not least, the book helps to develop a geometric understanding. Many excellent figures accompany the text and more than that, form a natural part of it. This geometric and constructive point of view give the book a unique quality.

After the essential properties of Bézier curves are developed, polynomial interpolation is considered including the Lagrange and Newton form, and cubic and quintic Hermite interpolation. Spline curves are then introduced as composite quadratic and cubic Bézier curves with \(C^ 1\) respectively \(C^ 2\) continuity, while general splines are derived via knot insertion. As an application piecewise cubic interpolation and cubic spline interpolation is discussed.

A survey on geometric continuity follows encompassing \(\nu\)-, \(\gamma\)- and \(\beta\)-splines. The curve part of the book ends with chapters on conic sections and rational Bézier and B-spline curves.

The remainder of the text is devoted to surface topics: bilinear interpolation, tensor product Bézier patches, two short sections on curve distortion via volume deformations and trimmed surfaces, Bézier triangles, rational Bézier triangles, quadrics, geometric \(C^ 1\) joints, Coons patches, Gregory’s square, Gordon surfaces, triangular Coons patches, interrogation and smoothing.

Of course, no text can cover everything. Here, the reader will not find a treatment of solid modeling, offsets, intersection problems, rendering or special topics like n-sided patches, multivariate splines, interpolation with splines of higher degree, or corner cutting algorithms. Many references to these topics are given in the text. (The fairly good bibliography lists 355 titles.) The book contains also a short dictionary of important terms and almost every chapter comprises a section of problems.

Altogether, this book gives a solid introduction to CAGD methods, points out their advantages and disadvantages, can function as a reference book for programmers in CAGD, and is a perfect textbook.

Reviewer: H.Prautzsch

### MSC:

68-01 | Introductory exposition (textbooks, tutorial papers, etc.) pertaining to computer science |

68U07 | Computer science aspects of computer-aided design |