ebook img

Computational Geometry. Curve and Surface Modeling PDF

295 Pages·1989·9.99 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Computational Geometry. Curve and Surface Modeling

COMPUTATIONAL GEOMETRY— Curve and Surface Modeling Su Bu-qing Liu Ding-yuan Fudan University Shanghai China Translated by Chang Geng-zhe University of Science and Technology of China He Fei Province China ACADEMIC PRESS, INC. Harcourt Brace Jovanovich, Publishers Boston San Diego New York Berkeley London Sydney Tokyo Toronto Copyright © 1989 by Academic Press, Inc. and Shanghai Scientific and Technical Publishers. All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopy, recording, or any information storage and retrieval system, without permission in writing from the publisher. ACADEMIC PRESS, INC. 1250 Sixth Avenue, San Diego, CA 92101 United Kingdom Edition published by ACADEMIC PRESS INC. (LONDON) LTD. 24-28 Oval Road, London NW1 7DX Library of Congress Cataloging-in-Publication Data Su, Pu-ch'ing, Date— Computational geometry—curve and surface modeling. Translation of: Chi suan chi ho. Bibliography: p. Includes index. 1. Geometry—Data processing. I. Liu, Ting-yüan. II. Title. QA447.S813 1989 516 88-3465 ISBN 0-12-675610-4 Alkaline paper Printed in the United States of America 89 90 91 92 9 8 7 6 5 4 3 2 1 Preface to the English Edition CAD/CAM (Computer Aided Design and Manufacture) and computer graphics have undergone rapid and striking development in the last 20 years. Geometric modeling is one of the most important basic tools in these fields. According to the definition given by Forrest, computational geometry is concerned with computer-based representation, analysis and synthesis of shape information. This subject is also called Computer Aided Geometric Design (CAGD) by many other authors. The study of free-form curve and surface modeling is the main aspect in geometric modeling. Basic theories, geometric properties, and numerical algorithms of curves and surfaces widely used in CAGD, as well as their applications to CAD/CAM are presented in this book from a geometric point of view. The authors discovered the geometric properties of parametric polynomial curves by using the theory of affine invariants for algebraic curves. Among other things, we would particularly like to mention the affine classification according to the number of inflection points and singularities of planar cubic Bézier curves. Besides an introduction to the fundamental methods of curve and surface modeling in CAGD, including parametric splines, Coons patches, Bézier and B-spline techniques, our own practical experience in developing CAD/CAM systems at ship building factories in Shanghai has also been involved in this book. Such an experience stimulated the authors to study the fairness of curves and networks, and nonlinear spline curves, and to ix X PREFACE prove the equivalence of a certain class of spline curves. All these results have been applied to CAD techniques in car, ship, plane and mechanical industries, as well as architecture in China. It is desirable that readers of this book have a good background in analytical geometry, calculus and linear algebra. The Chinese version of the present book was finished in 1979. Since then CAGD has been greatly improved. New results are so tremendous that there is quite enough for another book. Approximately 170 papers published after 1979—considered among the most important results in this field—have been added to this edition's reference section. The authors are glad to see the English version of this book published, allowing us an academic exchange with readers all over the world. Sincere thanks go to Professor Chang Geng-zhe for his translation. We are also indebted to the editors at Academic Press and Shanghai Scientific and Technical Publishers for their efforts in the preparation of the English edition. Su Bu-qing Liu Ding-yuan Institute of Mathematics Fudan University Shanghai, China CHAPTER I Introduction 1 What Is Computational Geometry? Problems of geometric designs often arise in the ship-building, aircraft and car industries. For instance, when the fitting and fairing of a ship form are to be designed, the designer must draw a curve to fit approximately several points given in a plane. In the car industry, a clay model is made by hand, and the surface of the model is divided into patches whose boundaries, forming a network of curves, should then be designed. The term computational geometry was initially used by Minsky and Papert (1969) as a substitute for model recognition. A formal definition for the term was given by Forrest in 1971 as "computer-based representation, analysis, synthesis (design) and computer-controlled manufacture of two- and three-dimensional shapes." By geometric information we mean data points or characteristic polygons that determine certain geometric objects, such as curves on a plane or surfaces in space. In mathematical lofting for ship bodies, derivatives specified at the end-points of the spline curve represent information for the curve. By representation we mean to form the mathematical model (e.g., the equation of the curve) and then to find adequate information about the curve (e.g., to evaluate the points on the curve) by using computers, based on the mathematical model. To investigate whether or not there are loops, cusps or unwanted inflection-points on the curve is referred to as analysis and synthesis. Computational geometry is concerned with all these aspects. Consequently it is closely related to 1 2 INTRODUCTION "Computer Aided Geometric Design." Computational geometry is a flower- ing discipline formulated from approximation theory of functions, differen- tial geometry, algebraic geometry, computational mathematics and especially numerical control. 2 Fitting and Fairing in Curves and Surfaces The objects studied in computational geometry are curves and surfaces. In geometric design, a surface is generally divided into several patches such that each boundary shared by two adjacent patches is a plane curve and such that the projection of four boundaries of each patch into the xy-plane forms a rectangle. Hence, except for the study of smooth matching of patches along common boundaries and around corners, the fundamental objects of our research are the fitting and fairing of plane curves. Techniques of interpolation and approximation are frequently applied to curves and surfaces. Suppose that a set of data points is given in a Cartesian coordinate system of the xy-plane. Interpolation requires that we find the equation of a curve passing exactly through each data point. The equation enables us to compute points other than data points on the curve. There is another way to solve the problem: Draw a curve which need not pass through each data point exactly but should make the sum of the squares of the differences between the ordinates of each data point and the corre- sponding point on the curve as small as possible. This is known as least- square approximation. Of course, there are other methods of approximation. Properties of geometric shapes are different from those of functions, and ordinary techniques for interpolation and approximation of functions may not be suitable for geometric shapes. For instance, shape is independent of choice of coordinate system, i.e., in whatever coordinate system we choose, the geometric shape (such as bend, singularities, inflection points, etc. of a curve) always remains unchanged. However the function which represents the curve, y =f(x) in the xy-plane, does depend on the coordinate system. Equations of the same curve or surface vary with coordinate systems. Moreover, some technique of approximation may not be good enough for computation of the ordinate y of a point on the curve in a chosen coordinate system. The desirable technique for fitting and approximation is to use a simple function, such as a polynomial in x of degree M, instead of the general one. A curve C is then plotted by a pen plotter. This is the geometric n shape we want. Sometimes, a special shape is given, say a circular arc. In this case convenient techniques for fitting may be used. In general, a fitting or approximation with certain tolerance, which takes over basic properties 3 Fitting and Fairing in Curves with Large Deflection 3 of the curve or surface and is fair or smooth, is acceptable. "Smoothness" of a curve refers to the continuity of direction of its tangent, more precisely to the continuity of its curvature, while "fairness" indicates that the curve should not have too many inflection points. Analysis and synthesis of fitting and fairing curves with small deflection will be done at first as follows. By "curve with small deflection" we mean that the curve has at each point a slope (i.e., the tangent of the angle formed by the x-axis and the tangent line of the curve) whose absolute value is less than 1. In this case, the radius of curvature R(x) of the curve y =f(x) at the point (x, y) can be replaced approximately by \/y"(x). This fact is the foundation of the theory of spline functions. For many years, long thin strips of wood or plastic much like the French curve (and called splines) have been used by designers to fair in a smooth curve between specificed points. By attaching lead weights, called "ducks," at points along the spline, the spline can be made to pass through the specified points. If we regard the designer's spline as a thin beam, then the Bernoulli-Euler law is satisfied. Here M(x) is the bending moment; E is Young's modulus; / is the geometric moment of inertia, and R(x) is the radius of curvature of the elastica (i.e., the curve assumed by the deformed axis of the beam). For small deflection, we have y"(x) = (^}M(x). Since the ducks act effectively as simple supports, the variation of M(x) between duck positions is linear. Hence a cubic segment C will be obtained 3 between each pair of adjacent data points. Joining these n cubics in such a way that two adjacent segments have equal slope and curvature at junctions where two segments meet, a curve consisting of n cubics is obtained and called the cubic spline. This method is different from that of the least-square approximation; note that the cubic spline passes through each data point exactly. 3 Fitting and Fairing in Curves with Large Deflection The technique described in the previous section is not suitable for curves with large deflection. If we use cubic splines to fit those curves, then we 4 INTRODUCTION have to adopt a coordinate system for each curve segment. Hence a co- ordinate system has to be transformed into that of the next segment. It is very complicated to do so. In this case, so-called "simple" spline curves discussed in the last section should be replaced by the parametric spline curves. The equation for its segment is expressed by cubic polynomials in t: 1 , 1, x = a + a t + —a r + —a t\ Q x 2 3 (£3) y = b + b^t + — b t2 + — b t3, 0 2 3 2! 3! where, without loss of generality, we assume that 0^ /^ 1. Otherwise the transformation of parameter will do the work: in which i, and t (t<t ) are parametric values corresponding to the 2 l 2 end-points of the segment. It is easy to see that to determine coefficients a b, (1 = 0, 1, 2, 3) it suffices h to know x(0), x'(0), x(l), x'(l) and the corresponding values of y. Inciden- tally, note that when the directions of the tangent lines have been specified at the end-points of curve (£ ), the following transformations, 3 χ'(0)-*λχ'(0), (λ>0) /(0)-λ/(0), (T) x'( 1 )->/!*'( 1), (μ>0) /(!)-> uv'(l), are permitted in choosing x'(j) and y'(j), j = 0, 1. Parametric equations (E ) represent a cubic algebraic curve, as it intersects 3 the straight line ax + by + c = 0 at three points (including imaginary points). It is characterized by the fact that the curve has a singularity (a loop or a cusp). We should check whether or not the singularity occurs on the curve segment in which we are interested. If it does, we have to adjust the parametric pair (λ, μ) in the transformation (T) until the loop or cusp does not occur for 0 ^ t ^ 1. This process is equivalent to adjusting the magnitudes of the tangent vectors at the end-points. On the other hand, we should also examine whether or not inflection points occur on the curve segment. First, no restrictions are put on the parameter t in equation (£ ), i.e., we consider 3 the whole curve rather than any segment. We then examine each segment of the interpolatory curve. In fact, the equation for inflection points on the 4 Bèzier Curve and Its Extensions 5 curve is pt2-2qt + 2r = Q, where (p, q, r) = (α, a , α ) x (fe,, fe , ft ). λ 2 3 2 3 Obviously the equation is invariant under affine transformations. However, p, q and r are not invariants under the linear transformation of parameter t, t = d+f (C5*0). If p = 0, then the curve (£ ) becomes a "simple" spline curve. Under the 3 assumption p ¥■ 0, it follows that the quantity is a relative invariant of weight (-2). Its importance is indicated by the following facts: 1. If J>0, then (E ) has two real inflection-points. 3 2. If / = 0, then there is a cusp on (£ ). 3 3. If /<0, then there is a loop on (£ ). 3 Let us consider the first case, in which / > 0. There are two real inflection points on the whole curve. However, they do not necessarily occur on the segment we discussed. There will be two possibilities. First, if the curvature of the curve has opposite signs at the end-points, then an inflection point will inevitably occur on the segment. Secondly, if the curvature of the curve has the same sign at the end-points and p, q and r satisfy certain conditions, two real inflection-points will appear in the segment. These inflection points are called "unwanted." For the purpose of fairness, we have to find an interpolation which can eliminate the unwanted inflection points. We can do this by changing the magnitudes of the tangent vectors at the end-points while keeping their directions fixed. We shall show that in the first quadrant of the λμ-plane, there exists a rectangular region R called the normal region, such that if (λ, μ) e R then the corresponding parametric cubic segment contains neither unwanted inflection points nor cusps nor loops. 4 The Bézier Curve and Its Extensions Theories of curve and surface synthesis developed by Coons, Hosaka and others have been applied in practice. But it is very complicated to 6 INTRODUCTION specify all conditions for connection in synthesis. In 1968 Bézier worked out a technique in which the whole curve or surface is represented by a single formula, which is very convenient for shape control. Let P , P,..., P be n + 1 ordered points in the space and consider the 0 x n (open) polygon P P · · · P formed by joining successive points, which is 0 { n called the characteristic polygon. The Bézier curve is a curve tangential at its end-points to the first and last side of the polygonal line and represented by a sum of weighted vectors of the vertices of the polygon. It is known that the Bézier curve is the Bernstein approximation n B (P<>, Ρ,...,Ρ„)=Σ P^vis), 0« s« 1, n ι r = 0 in which φΛs) = (^jsv(l-sr~l\ i> = 0,l,...,n, are, for fixed s, the discrete binomial probability density functions for a fixed probability. The Bézier curve is a weighted mean of sample points P , P,,..., P„, with weights <£„(■*)· 0 An elegant technique has been developed by Bézier at Regie Renault, a car company in France. Data from a small clay model, or a hand-sketched curve, is plotted, full size, on a drafting machine. The stylist estimates graphically the parameters of an approximating curve which is then drawn by the machine. Three-dimensional curves are approximated in two plane projections. An acceptable approximation is usually achieved in a few iterations by adjusting the curve parameters. Generalizations of the Bézier curve, i.e., interactive interpolation and approximation by Bézier polynomials, have been obtained by Forrest (1972) and Gordon and Riesenfeld (1974). Hosaka and Korota (1976) improved Bézier curves by using a piecewise approximation method and showed the connections between the Bézier curve and B-splines. 5 Bicubic Spline Functions and Their Applications to Surface Fairing Surface patches are widely used nowadays in computer aided geometric design for surface descriptions. A surface patch generally has four boun- daries, which are defined by piecewise parametric equations of the parameter u or w. The four points at which the boundaries meet are called corners of the patch. The patch is generated by blending shapes of the boundaries

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.