Smooth 3
Smooth 3
Heterogeneous Spatial Data: Fusion, Modeling, and Analysis for GIS Applications
Giuseppe Patanè and Michela Spagnuolo
2016
Efficient Quadrature Rules for Illumination Integrals: From Quasi Monte Carlo to
Bayesian Monte Carlo
Ricardo Marques, Christian Bouville, Luís Paulo Santos, and Kadi Bouatouch
2015
Rethinking Quaternions
Ron Goldman
2010
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in
any form or by any means—electronic, mechanical, photocopy, recording, or any other except for brief quotations
in printed reviews, without the prior permission of the publisher.
DOI 10.2200/S00729ED1V01Y201608VCP025
Lecture #25
Series Editor: Brian A. Barsky, University of California, Berkeley
Series ISSN
Print 2469-4215 Electronic 2469-4223
Geometric Continuity
of Curves and Surfaces
Przemysław Kiciak
University of Warsaw
M
&C Morgan & cLaypool publishers
ABSTRACT
is book is written for students, CAD system users and software developers who are interested
in geometric continuity—a notion needed in everyday practice of Computer-Aided Design and
also a hot subject of research. It contains a description of the classical geometric spline curves
and a solid theoretical basis for various constructions of smooth surfaces. Textbooks on computer
graphics usually cover the most basic and necessary information about spline curves and surfaces in
order to explain simple algorithms. In textbooks on geometric design, one can find more details,
more algorithms and more theory. is book teaches how various parts of the theory can be
gathered together and turned into constructions of smooth curves and smooth surfaces of arbitrary
topology.
e mathematical background needed to understand this book is similar to what is neces-
sary to read other textbooks on geometric design; most of it is basic linear algebra and analysis.
More advanced mathematical material is introduced using elementary explanations. Reading Ge-
ometric Continuity of Curves and Surfaces provides an excellent opportunity to recall and exercise
necessary mathematical notions and it may be your next step towards better practice and higher
understanding of design principles.
KEYWORDS
parametric curves and surfaces, Bézier curves and patches, B-spline curves and
patches, Coons patches, cubic splines of interpolation, trigonometric spline func-
tions, geometric splines, -splines, ˇ -splines,
-splines, geometric continuity, tan-
gent line continuity, tangent plane continuity, curvature continuity, torsion conti-
nuity, Frenet frame continuity, modules, mesh refinement, compatibility conditions,
filling polygonal holes, shape badness measures, shape optimisation, shape functions,
shape visualisation, Fàa di Bruno’s formula
ix
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
4 Compatibility conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.1 Hahn’s scheme of filling polygonal holes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2 Compatibility conditions at a common corner . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3 Compatibility conditions around a point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.3.1 G 1 compatibility conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.3.2 Piecewise polynomial functions in R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.3.3 Connection with trigonometric splines . . . . . . . . . . . . . . . . . . . . . . . . . . 88
x
4.3.4 Trigonometric splines and G 1 compatibility conditions . . . . . . . . . . . . . 91
4.3.5 Trigonometric splines and G 2 compatibility conditions . . . . . . . . . . . . . 94
4.4 Beyond the curvature continuity and towards practice . . . . . . . . . . . . . . . . . . . 108
A Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
A.1 Lagrange and Hermite interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
A.1.1 e divided differences algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
A.2 Bézier curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
A.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
A.2.2 Derivatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
A.2.3 Algebraic operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
A.3 Bézier patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
A.4 B-spline curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
A.4.1 Normalised B-spline functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
A.4.2 Nonuniform B-spline curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
A.4.3 B-spline curves with uniform knots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
A.5 Tensor product B-spline patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
A.6 Meshes and generalised B-spline surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
A.6.1 B-spline patches with uniform knots . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
A.6.2 Mesh representation of surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
A.6.3 Mesh refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
xi
A.6.4 Extraordinary elements of meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
A.6.5 e limiting surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
A.7 Rational curves and patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
A.8 Spline curves of interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
A.8.1 Blending polynomials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
A.8.2 Cubic splines of interpolation—Hermite form . . . . . . . . . . . . . . . . . . . 201
A.8.3 Cubic B-splines of interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
A.8.4 Approximation properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
A.9 Coons patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
A.9.1 Bilinearly blended Coons patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
A.9.2 Bicubically and biquintically blended Coons patches . . . . . . . . . . . . . . . 209
A.9.3 Coons patches in Bézier form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
A.10 Curvatures of curves and surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
A.10.1Curvatures of curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
A.10.2Curvatures of surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
A.11 Fàa di Bruno’s formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
xiii
Preface
Bézier and B-spline curves and surfaces developed years ago in the automotive industry as a de-
sign tool are now omnipresent in CAD systems and in computer graphics. eir most important
feature is the ease of designing neatly shaped curve arcs and surface patches. ere are many ex-
cellent textbooks from which a reader may find their properties and learn how to use them to
make a design or how to implement an algorithm for processing curves or surfaces that may be
embedded in a graphical program.
Usually textbooks on computer graphics cover only the most elementary information about
curves and surfaces. For example, a definition of B-spline curves is followed by their basic proper-
ties and algorithms of computing points of the curve, computing derivatives and inserting knots.
Readers of textbooks about Computer-Aided Design need to invest a little more in mathematics,
but in return they get more advanced material, including e.g. algorithms of degree elevation and
computing the Frenet frame and curvatures, or approximation properties of spline curves. Geo-
metric continuity of curves and surfaces is one of the issues described in these books. It is essential
when a sophisticated design requires obtaining a smooth surface made of many patches. As it is
one of many issues present in the textbooks, geometric continuity is often only touched upon and
not studied in detail. On the other hand, geometric continuity is needed in everyday practice of
Computer-Aided Design and, therefore, it is a rapidly developing subject of research.
is book is addressed to readers who work or intend to work with spline curves and sur-
faces. In particular, it is aimed at students who have learned about spline curves and surfaces and
want to know more about them, designers willing to understand the possibilities and limitations
of their CAD software packages in order to enhance their designs, and authors of graphic de-
sign software who will find here theoretical bases of constructions to implement or develop; there
are plenty of algorithms, known and yet unknown, whose elements are described in this book.
e mathematics needed to understand its contents is elementary linear algebra (vectors, matri-
ces, linear vector spaces, bases, linear and affine transformations, systems of linear equations) and
analysis (vector functions, derivatives, Taylor expansions). On the other hand, reading this book
is an opportunity to recall and exercise necessary notions, and the more advanced mathematical
material needed in some places is given with elementary explanations.
What does a reader get in return? Knowledge. Perhaps the most important purpose of this
book is to show a complete path from mathematical theory to the practical constructions of curves
and surfaces. e book contains a description of the classical geometric spline curves: -splines, ˇ -
splines and
-splines, and a solid theoretical basis for various constructions of smooth surfaces. It
consists of an analysis of smooth junctions of pairs of parametric patches, which uses the theory of
modules and translates to constructions of such pairs, and an analysis of compatibility conditions
xiv PREFACE
at a common corner of patches, using as a tool trigonometric splines, which allow one to find all
degrees of freedom for possible constructions of smooth surfaces. An example of an application
of this theory is a complete construction of surfaces filling polygonal holes in surfaces of arbitrary
topology. is construction contains an optimisation algorithm producing surfaces of high quality.
In addition, basic tools for the visualisation of shape of surfaces are discussed.
I would like to thank Prof. Brian Barsky for encouraging me to write this book, for piloting
the project and for the amount of patience he found for it. I would also like to thank the reviewers,
who spent their time reading an early version of this book and whose remarks helped me to
improve it in many places. My special thanks are for my niece Anna Lycett who honed my prose
to make it smooth.
Przemysław Kiciak
September 2016
xv
Notation
R — set (field) of real numbers.
Rm — set (linear vector space) of real column matrices with m rows.
Rmn — set (linear vector space) of real matrices with m rows and n columns.
RŒ — set (ring) of real polynomials of one variable.
RŒn — set (linear vector space) of polynomials of degree not greater than n.
RŒm — set (module) of real polynomial vector functions in Rm .
RŒmn — set of m n matrices whose entries are real polynomials.
Z — set of integer numbers.
a; v; ˛; ı; f — scalars and functions taking scalar values.
a; v; f — points, vectors and functions whose values are points or vectors.
A; B; C — matrices; their rows and columns are numbered from 1.
AC — pseudoinverse of a matrix A.
A; B; ˝; — planar areas and curves.
M; p — surfaces and their parametrisations.
f ıg — composition of functions, .f ı g/.x/ D f g.x/ .
jaj — absolute value.
j˛j — sum of coordinates of a multi-index (integer vector) ˛ D .˛1 ; : : : ; ˛n /.
pi , 1 pij , 2 pij — differences, pi D piC1 pi , 1 pij D pi C1;j pij , 2 pij D pi;j C1 pij .
f Œui ; : : : ; ui Ck — k -th order divided difference.
f 0 ; ddft ; f 00 ; f .n/ — derivatives of a function of one variable.
2
fu ; @f ;f ; @ f ,
@u uv @u@v
@j˛j f .t1 ;:::;tn /
@˛1 t1 :::@˛n tn
— derivatives of a function of two or more variables.
rf — gradient of a function f .
rM f — gradient of a function f on a surface M.
f — Laplacian of a function f .
Dp — differential of a parametrisation p.
hu; vi — scalar product of vectors. If u; v 2 Rm then hu; vi p
D vT u.
kvk2 — Euclidean norm (or length) of a vector v; kvk2 D hv; vi.
v1 ^ : : : ^ vm 1 — vector product in Rm .
l; h — lines and halflines.
— partition of the full angle.
H .l/ — space of homogeneous bivariate polynomials of degree l .
.l;n/
H — space of homogeneous bivariate splines of degree l and of class C n .R2 /.
.l;n/
T — space of trigonometric splines of degree l and of class C n .
Bin , Nin — Bernstein basis polynomials and normalised B-spline functions of degree n.
V ˚W — direct algebraic sum of linear spaces V and W .
f ˝g — tensor product of functions f and g .
V ˝W — tensor product of linear spaces V and W .
F .c1 ; : : : ; ck / — highest common factor of polynomial curves c1 ; : : : ; ck .
M.c1 ; : : : ; ck / — module of polynomial curves linearly dependent over RŒ with c1 ; : : : ; ck .
L.c1 ; : : : ; ck / — module of curves being linear combinations of c1 ; : : : ; ck over RŒ.
1
CHAPTER 1
Introduction
Smoothness of curves and surfaces is one of the most important attributes of their shape; it is
often the first thing noticed and judged by people seeing a new object and taking decisions: to buy
or not to buy. But the connection between the smoothness and the aesthetic of an object is not the
whole story. ere are a variety of reasons why objects in technical applications need to be smooth.
If a machine part is subject to vibrations, then a notch may initiate cracking caused by fatigue. e
influence of shape on aero- and hydrodynamic properties of objects (airplane fuselages, propellers,
ship hulls etc.) is obvious. Shape matters also for nonmaterial objects. In computer animation the
smoothness of a trajectory of a point often helps to imitate natural motion. Moreover, the smooth
motion of a robot part may decrease forces in its mechanism and thus improve its durability.
Shapes of curves and surfaces may be evaluated on two levels. On the macroscopic level one
can notice defects such as self-intersections, undulations or flattenings. Possible blemishes on the
microscopic level are singular points, ridges or curvature discontinuities. In practical design it is
hard (if possible at all) to separate the two levels, but their theoretical issues are different. In this
book we focus on the microscopic level, where the notion of geometric continuity is relevant.
However, details of shape noticeable on the macroscopic level are touched upon in Chapter 5,
where explicit measures of shape quality are used in constructions of smooth surfaces, and in
Chapter 6, whose subject is the visualisation of surface shape.
Curves and surfaces may be described mathematically in a number of ways. One possibility
is taking the graph of a scalar function of one or two variables. is method restricts the set of
available shapes, in particular not allowing to obtain a closed curve.
Another method uses an implicit definition of a planar curve as the set of points, at which
a given function of two variables is equal to zero, or a surface, defined as the set of zeros of
a function of three variables. is method is popular (perhaps more so in computer graphics
than in Computer-Aided Design), as it allows one to design complicated shapes relatively easily,
whether by adding terms to the function (a popular example of this technique is known under
the name blobs) or by applying Constructive Solid Geometry. On the other hand, the implicit
approach has its restrictions. Apart from special (and simple, like a circle or a sphere) cases,
points of the curve or surface must be found numerically, by solving nonlinear equations, which is
computationally expensive. ese costs, with today’s computers, are not prohibitive, but they are
also not insignificant. To define a curve in space one should specify two scalar functions of three
variables; the curve is the intersection of two surfaces defined implicitly by the two functions, but
this approach is awkward.
2 1. INTRODUCTION
e third possibility is the one studied in this work: the parametric definition. Here we
specify a vector function of one (to obtain a curve) or two (to obtain a surface) variables. e
definition of the function by an explicit closed formula or by a simple algorithm makes it easy and
cheap to find points, and the same formulae may be used both for planar curves and curves located
in space. Derivatives of the vector function called parametrisation make it possible to find geo-
metric attributes of curve or surface, like the tangent line or plane, curvatures, etc. e parametric
definition also has some drawbacks. e parameters, i.e., arguments of the parametrisation, are
often artificial in applications where only the shape matters; on the other hand, sometimes they
are natural, especially when the parameter of a curve may be identified with time. Surfaces often
have to be described piecewise, by a number of patches, and this is the case even for spheres.
Making sure that junctions of the patches are smooth is not a trivial task. How to ensure the
smoothness of junctions is the main thread of this work.
Any curve or surface has infinitely many parametrisations; some of them have many deriva-
tives, while others are not even continuous. Geometric properties of a curve or surface, which are
intuitively interpreted as “smoothness”, occur when parametrisations with certain analytic prop-
erties exist. A number of notions related to shapes and their relations with parametrisations were
gathered by Veltkamp [1992]. In this book we focus on the notion called geometric continuity,
which in practice is the most important of them all.
Definition 1.1 A curve is said to be of class G n (has geometric continuity of order n, where n 1) if
there exists a local regular parametrisation of class C n of this curve in a neighbourhood of each point of
this curve.
Definition 1.2 A surface is said to be of class G n (has geometric continuity of order n, where n 1)
if there exists a local regular parametrisation of class C n of this surface in a neighbourhood of each point
of this surface.
ough the continuity of derivatives of a function is essential for the smoothness of its
graph, the continuity of derivatives of any particular parametrisation (e.g. the one used as a repre-
sentation) is neither a necessary nor a sufficient condition for the smoothness of the curve or the
surface. is is why regularity is required by the definitions above. A vector function f of k vari-
ables is regular at a point if its partial derivatives at that point are linearly independent vectors;
the derivative of a regular function of one variable is a non-zero vector. e role of regularity
may be seen in Figure 1.1, showing two planar curves and their parametrisations. e graph of
a parametrisation p.t/ made of two scalar functions, x.t / and y.t /, is a three-dimensional curve,
whose parametrisation is obtained by attaching the identity function, z.t / D t , to describe the
third coordinate. e graphs of the functions x.t / and y.t / are projections of this spatial curve
on the xz and yz planes, while our planar curve is the projection on the xy plane.
Both functions, x.t / and y.t /, making the parametrisation of the top curve in Figure 1.1,
have continuous first- and second-order derivatives. However, the curve has a point of discon-
tinuity of the tangent line. is defect corresponds to the parameter t , at which the derivatives
3
(a) y
y
y.t/
p.t /
p.t/
x x
x.t/ zDt
(b) y
y
y.t / p.t /
p.t/
x x
zDt
x.t/
Figure 1.1: (a) A non-smooth curve with a parametrisation of class C 2 , (b) A curve of class G 2 , whose
parametrisation has a discontinuous derivative
of both functions, x.t/ and y.t /, are zero, i.e., the derivative of the parametrisation, p0 .t /, is
the zero vector. On the other hand, the curve shown below is represented by a parametrisation
whose derivative is discontinuous at a certain point. is does not prevent the curve from being
smooth—at each of its points the tangent line is defined; moreover, the curvature of this curve is
continuous.
Analogous pictures could be drawn for parametric curves and surfaces in the three-
dimensional space; however, they would be less obvious, because having never seen any four-
or five-dimensional objects (as opposed to three-dimensional curves, like graphs of parametrisa-
tions of planar curves, and their projections on planes), one has to rely only on his or her own
imagination to reconstruct the scene from a picture drawn on a planar sheet. Graphs of three
scalar functions, x.t/, y.t/ and z.t /, are projections of the graph of a parametrisation on the xt ,
4 1. INTRODUCTION
yt and zt planes in R4 ; drawing such graphs for a given (say, spline) curve is a good exercise for
one’s imagination—which is left to the reader.
One may ask, why use non-smooth parametrisations to represent smooth curves and sur-
faces? e answer is that using smooth parametrisations is not always convenient and, in the case
of surfaces, not always possible. Often objects are represented piecewise by many curves and sur-
faces, and while the pieces have smooth parametrisations, constructions guarantee the smoothness
of junctions of these pieces by ensuring the existence of the parametrisations fulfilling the condi-
tions given in the definitions of geometric continuity. However, such parametrisations are not
explicit results of these constructions.
is book consists of six chapters and an appendix; most of Chapter 1 you have just read. In
Chapter 2 a closer look is taken at the notion of geometric continuity of curves, whose theoretical
interpretation is followed by practical (and classical) constructions of geometric spline curves—
-splines, ˇ -splines and
-splines. While it is easy to adapt these constructions to tensor product
patches, smooth surfaces of arbitrary topology are more challenging and the next three chapters
describe the theory and its possible practical applications to methods of constructing such surfaces.
Chapter 3 is dedicated to smooth junctions of pairs of surface patches having a common
curve. e algebraic study of equations of geometric continuity leads to constructions of pairs of
patches. ere are situations where algebraic solutions of these equations are impractical and then
approximation is exercised. We show how to construct surfaces with arbitrarily small defects at
junctions of patches, which from the practical point of view are indistinguishable from surfaces
of class G 1 or G 2 . In Chapter 4 compatibility conditions at a common corner of patches are stud-
ied. Trigonometric splines offer an analytic tool powerful enough to understand the restrictions
imposed on surface patches and to reveal all degrees of freedom left by compatibility conditions
for geometric continuity of any order. In Chapter 5 some methods of filling polygonal holes in
surfaces are described as an example of applying theory in practice. A word of warning: such
methods are never simple, and the ones in Chapter 5 are no exception. e surfaces filling the
hole are obtained by a numerical algorithm whose goal is to minimise undulations and flattenings.
e algorithm is a special case of the finite element method; its major part is the construction of
a function space from which the algorithm chooses functions to describe the coordinates of the
surface parametrisation. e construction of the function space applies most of the theory from
the preceding chapters.
Chapter 6 describes basic tools used to visualise shapes of surfaces in order to evaluate their
quality. ese tools—shape functions—make it possible to show details at the microscopic level,
revealing the actual class of geometric continuity of junctions of patches, as well as undulations
and flattenings present at the macroscopic level.
Appendix A recalls basic information about interpolation problems, Bézier and B-spline
curves and surfaces, surfaces of arbitrary topology represented by meshes, Coons patches, an ab-
solutely minimal dose of differential geometry and Fàa di Bruno’s formula, which is omnipresent
in theoretical foundations and in practical constructions of smooth curves and surfaces. ough
5
properties of curves and surfaces are known from textbooks and research papers, they are gathered
here for the reader’s convenience. A number of proofs for these are given in the appendix, either
because of direct applications in constructions described in this book, or because many theorems
(especially in Chapter 4) are proved using the same ideas, which is worth a special emphasis.
Welcome to the lecture on geometric continuity.
7
CHAPTER 2
In particular,
q 0 .u/ D f 0 .u/p0 .t/;
q 00 .u/ D f 00 .u/p0 .t / C f 02 .u/p00 .t/;
q 000 .u/ D f 000 .u/p0 .t/ C 3f 0 .u/f 00 .u/p00 .t / C f 03 .u/p 000 .t/ etc.
8 2. GEOMETRIC CONTINUITY OF CURVES
t p 0 .t0 /
p p 0 .u0 / D q 0 .u0 /
f .b/
p .u0 / D q.u0 / D p.f .u0 //
t0 D f .u0 / t D f .u/
q Dpıf
a
1
f .a/ u0 b u
Suppose that p.t/ is given and the goal is to construct a parametrisation p .u/ of class C n
defined in an interval Œu0 ; b such that the arcs described by the two parametrisations form a curve
of class G n . To achieve this goal we impose some restrictions on the function f . To avoid singu-
larities and cusps we need a function f increasing monotonically and regular; hence, the deriva-
tive of f ought to be positive. Such a function f has its inverse, f 1 . By taking f such that
f .u0 / D t0 , the counterimage of the interval Œa; t0 (i.e., the image of this interval under the
mapping f 1 ) will adhere to Œu0 ; b (see Figure 2.1), thus forming the domain Œf 1 .a/; b of the
piecewise defined parametrisation
p f .u/ if u 2 Œf 1 .a/; u0 /,
s.u/ D (2.3)
p .u/ if u 2 Œu0 ; b.
en we specify the interpolation conditions for the parametrisation p at u0 : to obtain a con-
tinuous curve, we need
p .u0 / D q.u0 / D p.t0 /:
To obtain a curve of class G 1 , we also need
p 0 .u0 / D q 0 .u0 / D f 0 .u0 /p0 .t0 /:
To shorten the notation, below we use underlining and overlining to denote the evaluation of p
at u0 and p at t0 respectively. e number tk is the k -th order derivative of the function f at u0 .
With this notation the last two equations take the form
p D p; (2.4)
p 0 D t1 p 0 : (2.5)
If the two equations are satisfied, then the arcs, whose parametrisations are p and p , form a curve
of class G 1 . To obtain a curve of class G 2 , we also need
p 00 D t2 p 0 C t12 p 00 ; (2.6)
2.1. EQUATIONS OF GEOMETRIC CONTINUITY 9
and geometric continuity of order 3 occurs if the following equation
is satisfied together with the preceding three. Note that both parametrisations, s defined by (2.3)
and the composition s ı f 1 (whose domain is Œa; f .b/), are regular and have the required num-
ber of continuous derivatives.
To construct a parametrisation p such that the curve described by p and p is of class G n
we do not need a function f ; what counts are the values of its derivatives of order 1; : : : ; n at u0 .
We can, therefore, choose arbitrary numbers t1 ; : : : ; tn , which become connection parameters,
use them to construct the vectors, being the derivatives of q at v0 , and then construct a parametri-
sation p satisfying the n C 1 Hermite interpolation conditions at u0 . In constructions of curves
made of a number of arcs, interpolation conditions will also be imposed at the point b , i.e., the
other end of the domain of p . But here we focus on junctions of just two arcs.
It is illustrative to write the relation between derivatives of the arcs p and p in matrix
form. According to (2.4)–(2.6) and (2.4)–(2.7), for junctions of class G 2 and G 3 there is
2 3 2 32 3
2 3 2 32 3 p 1 0 0 0 p
p 1 0 0 p 6 p 0 7 6
6 0 7 4 6 7 0 t1 0 0 7 6 0 7
76 p 7:
4 p 5 D 0 t1 0 5 4 p 0 5 ; 6 00 7 D 6
4 p 5 4 0 t2 t12 0 5 4 p 00 5
p 00 0 t2 t12 p 00
p 000 0 t3 3t1 t2 t13 p 000
Matrices, which describe the relation between the derivatives of the arcs are called connection
matrices. For geometric continuity of higher orders they may be obtained by appending more rows
and columns, with the coefficients aj k D aj k .u0 / from Formula (2.2). Such connection matrices
are always lower triangular and non-singular, as their diagonal coefficients are consecutive powers
of t1 , which is non-zero.
Remark. Connection matrices may be used to describe and define classes of continuity of junc-
tions of curves other than G n , e.g. the Frenet frame continuity considered in Section 2.2. Inter-
ested readers may find more information on this in the paper by Habib and Goldman [1996].
Now we consider junctions of arcs given in the homogeneous form (see Section A.7), rep-
resenting rational curves in the space of dimension d , which is a plane if d D 2, and d D 3 in
the majority of other practical situations. A homogeneous representation is a curve in the space
of dimension d C 1. e coordinates of a parametrisation p in Rd are obtained by dividing the
first d coordinates of the homogeneous parametrisation P by its last coordinate, called the weight
coordinate and denoted by W ; this is equivalent to the perspective projection of the homogeneous
curve (with the centre at 0 2 Rd C1 ) on the plane W D 1.
An immediate observation is that by multiplying a homogeneous parametrisation by a non-
zero function we obtain another homogeneous representation of the same rational curve. To cover
this possibility by our analysis we consider a homogeneous parametrisation P over the inter-
10 2. GEOMETRIC CONTINUITY OF CURVES
val Œa; t0 and a parametrisation Q.u/ D r.u/P.f .u//, obtained by a substitution of the param-
eter and by rescaling, with a non-zero function r of class C n . Using the Leibniz formula for the
derivatives of a product of functions, we obtain
j
!
dj X j dj i
di
Q.u/ D r.u/ P f .u/ ; for j D 0; : : : ; n.
duj iD0
i d uj i d ui
e i -th order derivative of P.f .u// with respect to u may be obtained with Fàa di Bruno’s
formula; after using it and doing some calculation, we obtain
X j
dj dj r dk
Q.u/ D P C Aj k P;
duj duj dt k
kD1
where
j
!
X j dj i r X iŠ dm1 f dmk f
Aj k D : : : :
i duj i m1 CCmk Di
kŠm1 Š : : : mk Š dum1 dumk
iDk
m1 ;:::;mk >0
As before, we can use this formula to construct as many derivative vectors of the homoge-
neous parametrisation P of a rational curve at the parameter u0 corresponding to the junction
point as needed. In particular, to ensure geometric continuity of order 1, 2 or 3, we use the first
2, 3 or all 4 formulae of the following:
P D r0 P; (2.8)
P 0 D r1 P C r0 t1 P 0 ; (2.9)
P 00 D r2 P C .r0 t2 C 2r1 t1 /P 0 C r0 t12 P 00 ; (2.10)
P 000 D r3 P C .r0 t3 C 3r1 t2 C 3r2 t1 /P 0 C .3r0 t1 t2 C 3r1 t12 /P 00 C r0 t13 P 000 ; (2.11)
where r0 ; : : : ; rn and t1 ; : : : ; tn may be arbitrary numbers with the constraint that r0 ¤ 0 and t1 >
0. Having obtained the derivative vectors, we can construct the homogeneous parametrisation P
by solving a Hermite interpolation problem.
Junctions of rational arcs in the homogeneous representations may also be described using
connection matrices. For example, the description of a junction of class G 2 is
2 3 2 32 3
P r0 0 0 P
6 0 7 6 76 7
4 P 5 D 4 r1 r0 t1 0 5 4 P0 5 :
P 00 r2 r0 t2 C 2r1 t1 r0 t12 P 00
Definition 2.1 A curve has the continuity of order n of the Frenet frame (is of class F n ) if it has
a parametrisation such that the functions e1 ; : : : ; en , which describe the vectors of the curve’s Frenet
frame, and the curvatures 1 ; : : : ; n 1 are continuous.
e Frenet frame in a space of dimension d is made of d vectors (see Section A.10.1),
and only d 1 curvatures may be defined, which means that a curve in such a space may be of
class at most F d . e notions of geometric continuity and Frenet frame continuity are, therefore,
different. But it is illustrative to compare the two properties. So, let p and p be two regular
parametrisations of class C 1 of two arcs in R2 or R3 which form a curve. We consider a neigh-
bourhood of the junction point of the two arcs.
Case n D 1. If the curve is of class G 1 , then the arcs at the junction point have a common tan-
gent line determined by the derivative vectors of both parametrisations. To avoid a cusp
on the curve, these vectors must have the same orientation. is is the case if t1 > 0 in
Equation (2.5) or (2.9).
e F 1 continuity condition involves only the vector e1 of the Frenet frame—the tangent
vector, which must be the same for both arcs at the junction point. us, the notions of F 1
and G 1 continuity are identical; they both mean the continuity of direction of the tangent
line of the curve.
Case n D 2. If Equation (2.5) is satisfied with t1 > 0, then the vectors p0 and p0 have the same
direction and orientation. To satisfy Equation (2.6) the pairs of vectors p0 , p00 and p0 , p00
must span the same plane, and then both pairs of vectors determine the same vectors e1
and e2 of the Frenet frame at the junction point. Also, the first curvature 1 D depends
on the first two derivatives of the parametrisation in a continuous way. erefore, a planar
curve of class G 2 is also of class F 2 .¹
On the other hand, if a curve is of class F 2 , then it is easy to prove that its arc length
parametrisation is regular and of class C 2 . us, the classes F 2 and G 2 of planar curves
are identical and in a higher dimension the difference between the two classes is negligible.
Curvature continuity is a property characteristic for curves of these classes.
Case n D 3. e F 3 continuity may be considered for three- or higher-dimensional curves with
non-zero curvature. e derivatives of order 1 and 2 at the junction point of two arcs forming
a curve of class G 2 determine the parameters t1 and t2 ; thus, the only degree of freedom
in Equation (2.7) is in the choice of the parameter t3 used to construct the vector p000 .
¹In a space of dimension 3 or higher, if the first curvature is zero, the vector e2 is undefined and the curve does not fulfill the
definition of F 2 continuity.
12 2. GEOMETRIC CONTINUITY OF CURVES
e difference of vectors corresponding to different values of t3 is parallel to p0 , i.e., to
the tangent line at the junction point. Taking into account the construction of the Frenet
frame (via the Gram–Schmidt orthonormalisation, see Section A.10.1), we conclude that
if a curve is of class G 3 and its curvature is non-zero, then it is also of class F 3 .
e vectors e1 (tangent), e2 (normal) and e3 (binormal) of the Frenet frame and also the
curvatures 1 D (curvature) and 2 D (torsion) will not be changed if any vector in the
osculating plane, spanned by e1 and e2 , is added to p000 . To construct a curve of class F 3 ,
instead of (2.7) we could use the formula
with arbitrary parameters t3 and s3 . As this construction has two degrees of freedom, F 3 is
a wider class of curves than G 3 . In both cases the second curvature, i.e., torsion, is contin-
uous.²
All equations of geometric continuity of junctions of two arcs have the form
p .j / D tj p0 C qj ; j D 1; : : : ; n; (2.12)
where qj is a vector determined by the parameters t1 ; : : : ; tj 1 and the vectors p00 ; : : : ; p.j / (in
particular q1 D 0), i.e., derivatives of the parametrisation of the first arc. In the construction of the
second arc, where G n continuity of the junction is to be achieved, after constructing the derivatives
of p of order less than n we can arbitrarily choose only one parameter, tn . Equivalently, we can
choose arbitrarily a vector p.n/ , provided that the difference p.n/ qn is parallel to the tangent
line of the arcs at the junction point.
(a) y (b) y
p 00
p p p
0
p0
p p
x x
q2 D t12 p 00
p 0 D t1 p 0 p 0 D t1 p 0
p 00
Figure 2.2: Geometric continuity at the junction point of two cubic curves
²e connection matrix, which describes a junction of class F 3 of two arcs, is lower-triangular, with consecutive powers of
a number t1 on the diagonal and, except for the first column, arbitrary coefficients below the diagonal. e matrices, which
characterise the Frenet frame continuity in higher-dimensional spaces have the same structure.
2.2. INTERPRETATION 13
Figure 2.2 shows two examples of junctions of two curves. In both cases we have two cubic
curves with the parameter intervals of length 1. e junction in Figure 2.2a is of class G 1 , where
the parameter t1 is equal to 2. e derivative vector of the curve p is twice longer than that of the
curve p at the junction point. In Figure 2.2b there is a junction of class G 2 , with the parameters
t1 D 2 and t2 D 0:9; there is q2 D t12 p 00 and the vector q2 p 00 has the direction of the line
tangent to both curves, which at their common point have the same curvature.
Equations for homogeneous arcs have a similar form:
P .j / D rj P C r0 tj P 0 C Qj ; j D 1; : : : ; n; (2.13)
with the vector Qj determined by the parameters r0 ; : : : ; rj 1 and t1 ; : : : ; tj 1 and the vectors
P 00 ; : : : ; P .j / . Choosing P .n/ , we have two degrees of freedom, in the choice of rn and tn . e
difference P .n/ Qn must be parallel to the plane spanned by the vectors P and P 0 . is is
illustrated in Figure 2.3, where planar rational curves (in the plane W D 1) are shown together
with their homogeneous representations. In Figure 2.3a there is a junction of class G 1 ; it is ob-
tained by making sure that the vector P 0 is a linear combination of P and P 0 . Dashed lines are
used to show a square in the plane W D 1 and a rectangle in the linear subspace spanned by the
vectors P and P 0 . e intersection of this subspace with the plane W D 1 is the line tangent to
the rational arcs at the junction point.
(a) (b)
W W
P
P 0 Q2
P P 0
00
P P
P0
P P
P
P P
0
P
Y
Y
X X
p1
y
' x
p0 p2
0
Y
w0 D w2 D 1, w1 D cos ' X
Figure 2.4: A circular arc in rational Bézier form and a representation of a circle
s.t/ D ai Hi;00 .t/ C bi Hi;01 .t/ C aiC1 Hi;10 .t / C biC1 Hi;11 .t/ if t 2 Œui ; uiC1 ,
where Hi;00 ; Hi;01 ; Hi;10 ; Hi;11 are cubic polynomials defined by Formulae (A.39) and (A.41),
defines a cubic spline parametrisation such that s.ui / D ai , s0 .ui / D bi for i D 0; : : : ; N . e
numbers u0 ; : : : ; uN are both knots of the spline and interpolation knots. From the considerations
2.3. GEOMETRIC SPLINE CURVES 15
in Section A.8 it follows that for any choice of the points a0 ; : : : ; aN and vectors b0 ; : : : ; bN such
a parametrisation is of class C 1 .
e polynomial arcs of the curve s meeting at the knot ui , denoted by pi 1 and pi , are
determined by the points and vectors ai 1 ; bi 1 ; ai ; bi and ai ; bi ; aiC1 ; biC1 . ere is
6 2
pi00 1 .ui / D .ai 1 ai / C .bi 1 C 2bi /;
h2i 1 hi 1
6 2
pi00 .ui / D .aiC1 ai / .2bi C biC1 /;
h2i hi
where hi D uiC1 ui . Assuming that pi00 .ui / D pi00 1 .ui /, we can derive the equation³
is is in fact Equation (2.6) with the parameters t1 D 1 and t2 D i . After multiplying the sides
by hi 1 hi =2 and gathering the terms with the points ai 1 , ai , aiC1 and vectors bi 1 , bi , biC1 on
the opposite sides of the equality sign we obtain the following equation:
hi bi 1 C 2.hi 1 C hi / C hi 1 hi i =2 bi C hi 1 biC1 D
hi hi 1
3 .ai ai 1 / C .aiC1 ai / : (2.15)
hi 1 hi
e curves obtained by solving Equations (2.15) instead of (2.14) are named -spline curves.
Each junction of polynomial arcs has its parameter i , which may be chosen individually.
In practice one can begin with i D 0 for all i and then modify the parameters interactively until
a satisfactory result is obtained. Increasing i increases the curvature of the curve in a vicinity of
the point ai . Moreover, if all parameters i tend to infinity, the vectors bi tend to 0 and the curve
tends to the polyline whose vertices are the points ai .
Figure 2.5 shows an example: two closed curves with equidistant knots (ui D i for all i ). e
sharpness of the teeth of the “comb” outlined by the ordinary cubic spline curve of interpolation (a)
³is is Equation (A.42), rewritten with scalars replaced by points and vectors.
16 2. GEOMETRIC CONTINUITY OF CURVES
(a) (b)
a1 a7 1 D 8 7 D 8
a0 a8 0 D 2 8 D 2
2 D 3 D 4 D 5 D 6 D 3
Figure 2.5: A cubic spline curve of interpolation of class C 2 (a) and a -spline curve (b)
varies, which may not be the designer’s intention. ough it is possible to modify the shape by
changing the knots, it is hard, if possible at all, to control the sharpness of the teeth in this
way.⁴ e curve (a) is a special case of a -spline curve with all parameters i D 0. e curve (b) is
a result of the modification of the parameters. As the parametrisation is regular (i.e., the first-order
derivative at each point is not the zero vector), the curvature of the entire curve is continuous.
Definition
A ˇ -spline curve of degree n in a d -dimensional space is described by the formula
NX
n 1
s.t / D di Pin .t/; t 2 Œun ; uN n : (2.16)
iD0
⁴Often a cubic spline curve of interpolation with a good shape may be obtained after taking such a knot sequence that hi D
ui C1 ui is proportional to the square root of the distance between the points ai and ai C1 for all i . In the example discussed
here this idea produces equidistant knots, and the result may be seen.