Table Of ContentComputer Graphics -
Systems and Applications
Managing Editor: J. L. Encarna~ao
Editors: K.B\!l J.D.Foley R.A.Guedj
P. J. W. ten Hagen F. R.A. Hopgood M. Hosaka
M.Lucas A.G.Requicha
H. Hagen D. Roller
(Eds.)
Geometric Modeling
Methods and Applications
With 140 Figures
Springer-Verlag
Berlin Heidelberg New York
London Paris Tokyo
HongKong Barcelona
Budapest
Prof. Dr. Hans Hagen
Fachbereich Informatik
UniversiUit Kaiserslautem
Postfach 3049
W-6750 Kaiserslautem, FRG
Dr. Dieter Roller
Hewlett Packard GmbH
Postfach 1430
W -7030 Boblingen, FRG
ISBN-13:978-3-642-76406-6 e-ISBN-13 :978-3-642-76404-2
001: 10.1007/978-3-642-76404-2
Library of Congress Cataloging-in-Publication Data
Geometric modeling: methods and applicationsIH. Hagen, D. Roller (eds.).
p. em. - (Symbolic computation. Computer graphics - systems and applications)
Includes bibliographical references and index.
ISBN-13:978-3-642-76406-6
1. Computer graphics-Congresses. I. Hagen, H. (Hans), 1953- . II. Roller, D. (Dieter),
1951- . III. Series.
T385.G464 1991 06.6 - dc20 91-6723 CIP
This work is subject to copyright. All rights are reserved, whether the whole or part of the
material is concerned, specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in other ways, and storage in data
banks. Duplication of this publication or parts thereof is only permitted under the provisions
of the German Copyright Law of September 9, 1965, in its current version, and a copyright
fee must always be paid. Violations fall under the prosecution act of the German Copyright
Law.
© Springer-Verlag Berlin Heidelberg 1991
Softcover reprint of the hardcover 1st edition 1991
4513140-543210 - Printed on acid-free paper
Preface
This book is based on lectures presented at an international workshop on geometric modeling
held at Hewlett Packard GmbH in Boblingen, FRG, in June 1990. International experts from
academia and industry were selected to speak on the most interesting topics in geometric
modeling. The resulting papers, published in this volume, give a state-of-the-art survey of the
relevant problems and issues. The following topics are discussed:
- Methods for constructing surfaces on surfaces: four different solutions to the multidimen
sional problem of constructing an interpolant from surface data are provided.
- Surfaces in solid modeling: current results on the implementation of free-fonn solids in three
well established solid models are reviewed.
- Box splines and applications: an introduction to box spline methods for the representation of
surfaces is given. Basic properties of box splines are derived, and refinement and evaluation
methods for box splines are presented in detail. Shape preserving properties, the construction
of non-rectangular box spline surfaces, applications to surface modeling, and imbedding
problems, are discussed.
- Advanced computer graphics techniques for volume visualization: the steps to be executed in
the visualization process of volume data are described and tools are discussed that assist in
handling this data.
- Rational B-splines: an introduction to the representation of curves and surfaces using rational
B-splines is given, together with a critical evaluation of their potential for industrial application.
- Scattered data interpolation and applications: a tutorial introduction is given to the multivariate
scattered data interpolation problem. Various types of data sets, strategies for dealing with
them, and readily available algorithms, along with situations where they have been useful, are
discussed.
- Variational principles in curve and surface design: some new techniques for the design of
smooth curves and surfaces are presented, based on a calculus of variations approach.
- Functional splines for modeling: some implicit curves and surfaces, as used for interpolation,
approximation, blending and filling, are introduced and interpreted as functional splines
fulfllling geometric continuity conditions.
VI
- Numerically-controlled milling of CAD surface data: the main steps in the extraction of
machine-understandable infonnation from surface data are discussed, with emphasis on the
problem of collisions between tool and surface model.
- Aspects off orm feature modeling: starting from the definition of a fonn feature as a region of
interest on the surface of a part, examples are given and a more precise definition is fonnulated
from the point of view of CAD modeling.
- Advanced methods for parametric design: parametric design is introduced and examples of
application areas are given. Methods are presented for parametric modeling in CAD. lllustrative
examples are given and the characteristics of the methods are summarized.
- A tutorial introduction to blossoming, also called polarization: this is a powerful new
technique for analyzing Bezier and B-spline curves and surfaces. The basic concepts and uses
are introduced and several implementation consequences are identified.
We would like to thank all participating speakers, and the audience, for what appears to have
been a very successful workshop.
Kaiserslautem, Boblingen Hans Hagen
January 1991 Dieter Roller
Contents
Methods for Constructing Surfaces on Surfaces .........•..........•................................. 1
R. E. Barnhill, T. A. Foley
Surfaces in Solid Modelin~ •••.•.....••.....••••..........•...•••......•••.............................. 17
P. Brunet, A.Vinacua
Box Splines and Applications ......................................................................•... 35
M. DfEhlen, T. Lyche
Advanced Computer Oraphics Techniques for Volume Visualization .......•..•..........•....... 95
I. L. Encar~ao, M. Frilhauf, M. Gobel, K. Karlsson
Rational B-splines ..............•.•....•..........•.......................••.•.....•..•.•.......••...... 115
G.Farin
Scattered Data Interpolation and Applications: A Tutorial and Survey ..•.................•...... 131
R. Franke, G. M. Nielson
Variational Principles in Curve and Surface Design ................................................ 161
H. Hagen, G. Schulze
On-I-Functional Splines for Modeling ......•.•.....................•......••..•..•.•......•........ 185
I. Hoschek, E. Hartmann
Numerically-Controlled Milling of CAD Surface Data ............................................. 213
R. Klass, P. Schramm
Aspects ofFonn Feature Modelling ..................................•............................... 227
M.I.Pratt
Advanced Methods for Parametric Design .....•••..............•................................•.• 251
D.Roller
A Tutorial Introduction to Blossoming ..............•....................•.•••••••.................. 267
T. D. DeRose, R. N. Goldman, I. M. Lounsbery
Methods for Constructing Surfaces on Surfaces
Robert. E. Barnhill and Thomas A. Foley
Computer Science Department
Arizona State University
Tempe, Arizona 85287 U. S. A.
Abstract. Given data defined on a (domain) surface, we construct an interpolant, which is
a "surface defined on a surface." We provide four different solutions to this multidimensional
problem.
1. Introduction. We invented the phrase "surfaces defined on surfaces" several years
ago (Barnhill 1985) to describe the construction of (possibly higher dimensional) surfaces
defined on physical objects. There are many applications of this subject. For example,
in a project with NASA-Ames, we were given wind tunnel measurements of pressures on
an aircraft wing and asked to predict the pressure at an arbitrary location on the wing.
The wing itself was a collection of bicubic patches and constituted the domain surface. We
then constructed the pressure "surface" as a trivariate surface interpolating to the measured
pressures at the given data sites on the wing. Many other physical phenomena are similar to
this example, for instance, gravity anomalies of the earth, mineral deposits, ozone, rainfall
and temperatures. Time can also enter the problem as an additional variable and visualized
by means of animation. Surfaces on surfaces can arise in design if we think of the NASA
pressures indicating a possible requirement for redesign of the wing.
Surfaces defined on surfaces is not the same as trivariate (or multivariate) interpolation.
As illustrated by the NASA example, the geometry of the domain surface should be involved
in the approximation: it would be unusual, although possible, to treat the problem simply
as trivariate interpolation.
We have developed several methods for interpolating to data given on a surface and
visualizing the results, in a sequence of papers (Barnhill, Piper & Stead 1985), (Barnhill,
Makatura & Stead 1987), (Barnhill, Piper & Rescorla 1987), (Barnhill & Ou 1990) and
(Foley, Lane Nielson, Franke & Hagen 1990). Four principal methods are utilized: a direct
method, a distance-weighted interpolant, a triangular interpolant, and a domain mapping
technique.
2. Direct Method (Barnhill, Piper & Rescorla, 1987). We assume that the
domain surface is defined parametrically, for example, by means of piecewise bicubic inter
polation. Although the method is general, this example will fix the ideas. We shall also
speak of "pressures", for concreteness.
2
There are three main steps:
(1) Geometry step
Preprocess the surface domain so that the various parts of the domain surface are
defined by piecewise bicubic interpolation.
(2) Pressures at defining geometry sites
Determine the pressures at the defining geometry sites by means of a scattered data
interpolant.
(3) Pressures at arbitrary locations on the domain surface
Use a smooth interpolant to the pressures at the defining geometry sites to predict
the pressure at an arbitrary location on the domain surface.
The details of these steps comprise the remainder of this section.
2.1. Representation of Wing. The wing geometry points are points in R3 which
define the surface of the wing. They have a gridded structure and are of the form
wi,j, i=0, ... ,14, j=0, ... ,16. (2.1)
We estimate the derivative data needed for piecewise bicubic interpolation and call the overall
interpolant w:
w : D = [0,14] x [0,16]-4 R3. (2.2)
Thus the wi,j are the images of the gridpoints in D under the mapping w. That is, the top of
°:: :;
the wing is the image of the rectangle D under a C1 map which takes {(14, v) : v :::; 16}
onto the trailing edge and the other two sides of D onto single points with u-tangents with
uv-derivatives zero along these degenerate edges, see Fig. 1. Piecewise bicubic interpolation
is used instead of tensor product spline interpolation in order to localize the interpolant and
to more nearly maintain the wing's convexity.
3
w
(i,j)
I
u
Fig. 1. Geometry of the wing: piecewise bicubic representation
2.2. Pressures at Wing Geometry Points. The given data are of the form (Xki fk)
where the Xk are the three-dimensional data sites (plug taps) and the pressures fk are
measured. For each wing geometry point wij, a corresponding pressure fi,j is calculated as
follows:
Construct the hyperbolic multiquadric (Hardy 1971) M of the form
Ln
M = M(x) = cdd~(x) + R}t, (2.3)
k=l
where dk(x) is the three-dimensional Euclidean distance from x to Xk, R is specified positive
number, the sum is over the n plug taps closest to x, and the number Ck are the solution of
the n x n interpolation system M(Xk) = fk. Thus the multiquadric corresponding to wij is
=
a function of i, j : M Mi,j' The desired pressure at the wing geometry point is simply its
image under its multiquadric M :
(2.4)
We observe that the plug taps need not be on the geometric wing constructed as the piecewise
bicubic image of D. However, since the location of the plug taps enters our solution only
via three-dimensional distances, this possible complication does not matter.
4
2.3. Pressures at Arbitrary Points on the Wing. We define the pressure at an
arbitrary point x on the winK ~y f = f(x) = g(w-1(x)) where 9 is a C1 piecewise bicubic
interpolant to the pressures P,) at the wing geometry points. However in practice, we need
not consider inverse functions: we evaluate and display the piecewise bicubic interpolant 9
i,i
to the pressures along isoparametric lines in D.
3. Distance-weighted Interpolant (Barnhill, Piper & Rescorla 1987). This
method utilizes a localized distance-weighted interpolant with Dirichlet tessellated domains
of data dependence and geodesic distances. The interpolant is a convex combination of
interpolating "nodal" functions.
Given an underlying function f with values Ii at nodes Pi, where Pi E S, i=I, .. ,N, and
S is the domain surface, define
N N
L L
f(P) = Wi(P)qi(P)/ Wi(P) (3.1)
i=l i=l
where the weights Wi(P) are modified inverse distance functions:
(3.2)
The function di(P) is a 'distance' function that approximates the geodesic distance along
the surface from a given point P to point Pi on the surface. The function li(P) is a 'weight'
function which has local support induced by a 'neighbor' structure. It measures the influence
of Pi at the point P, and its value varies from 0 to 1. The function qi( P) is a 'nodal' function
which interpolates to f at Pi and fits the value of f on a set of neighbouring nodes of Pi in
a least squares sense. The construction of the li(P), di(P) and qi(P) are described in the
following subsections.
3.1. The Tessellation. To construct weight functions li(P) and nodal functions qi(P),
we must know which domain data points are neighbors of Pi on the surface. In the general
trivariate interpolation problem, these neighbors can be found from a Dirichlet tessellation
of the given domain points in three dimensions. However, a problem arises when data sites
are physically close together, but far apart on the surface, for example, points that are on
opposite sides of a surface, but are nearby based on Euclidean distance. In this case, we insert
barrier points to separate these data sites from being neighbors. The Dirichlet tessellation of
the given domain points and the inserted barrier points is constructed. The general idea of
creating barrier points is to first determine a barrier inside the domain surface that separates
the parts of the surface. The barrier points are obtained by perpendicular projections of the
given data sites onto the barrier. The type of possible barrier depends upon the shape of the
domain surface, and can be a point (for a sphere), a finite line (for a torpedo-like surface)
or a finite plane (for a thin plate surface). From the 3D Dirichlet tessellation, the neighbors
of a given data site Pi fall into two classes: (1) barrier point neighbors and (2) non-barrier
neighbors. In the construction of the weight function li(P), the neighbors of Pi include both
of the two classes, whereas in the construction of the nodal functions qi(P), only non-barrier
neighbor points, which form the structure of the domain surface, are considered. Barrier
points are illustrated in Fig. 2.