Top Banner
Computer-Aided Design 40 (2008) 62–75 www.elsevier.com/locate/cad Boolean surfaces with shape constraints Paolo Costantini, Francesca Pelosi * , Maria Lucia Sampoli Dipartimento di Scienze Matematiche ed Informatiche, Pian dei Mantellini 44, Siena, Italy Received 4 October 2006; accepted 1 October 2007 Abstract In this paper, we present a new method for the construction of parametric surfaces reproducing an object from a set of spatial data. We adopt a hybrid scheme, based on the Boolean sum of variable degree spline operators, which both interpolate a set of grid lines and approximate the data. As usual the variable degrees can be chosen to satisfy proper shape constraints. c 2007 Elsevier Ltd. All rights reserved. Keywords: Boolean schemes; Best approximation; Shape preservation; Variable degrees 1. Introduction The goal of this paper is to provide mathematical models for the reproduction of real objects. Often, such a construction is obtained computing a surface which approximates a set of data points taken from the object itself; moreover, the measurements often produce a huge amount of accurate data, which in turn furnish a good representation of the shape of the object. It is clear that the surface must reproduce the main visual features (corners, ridges, patches with “visually uniform” curvature etc.), and this requirement brings our construction within the frame of the so-called shape preserving approximations. Despite its importance in practical applications, the shape preserving approximation has not received considerable attention. To the best of our knowledge, the problem of constructing shape preserving approximating planar or spatial curves has been addressed only in the papers [4–6,14]; similarly, [8] seems to be the only paper dealing with shape preserving parametric surfaces. In order to facilitate the comprehension of the following sections, we give here a brief account of the main steps which have driven our recent researches in this field. We start with the simple and well-known problem of the construction of shape preserving interpolating curves. Suppose we are given a set of points {(t i , P i ), i = 0,..., N } where P i R d , d = 2, 3 and t i R is the associated parameter value. * Corresponding author. Tel.: +39 0577 233738; fax: +39 0577 233730. E-mail addresses: [email protected] (P. Costantini), [email protected] (F. Pelosi), [email protected] (M.L. Sampoli). A typical scheme is usually composed by the following steps. First, we compute the piecewise linear curve interpolating the data points and, second, we use it for extracting their geometric characteristics (e.g. discrete curvature and torsion). Then we construct an interpolating curve using some kind of spline in tension, that is splines which depend on a set of tension parameters and which can be modified (stretched) so that their shape tends to the shape of the piecewise linear curve. Summarizing, (a) we construct a reference curve, (b) define the shape of the data as the shape of the reference curve, and (c) construct an interpolating (smoother) curve which can reproduce as far as we want the shape of the reference curve. Recently, a method to create shape preserving approximat- ing curves has also been proposed [4–6]. In this case, step (a) is replaced by (a.1): to define a knot sequence in the parameter in- terval [t 0 , t N ], extracting from the parameter values {t 0 ,..., t N } a subsequence {u 0 ,..., u m } (typically m N ), and (a.2): to construct a piecewise reference curve which gives a good repro- duction of the shape of the data. Starting from our experience in interpolation, in [4] and [5] we used for step (a.2) the piecewise linear curve (defined on the knot sequence) of the best least squares approximation to the data (b.a. in short), but we soon realized that b.a. C 0 quadratic splines would have provided a more effective reference curve in the case of approximation [6]. This approach was then extended to the surface case in [8]. Suppose we are given a set of spatial data together with the corresponding parameter values, either with a tensor-product topology 0010-4485/$ - see front matter c 2007 Elsevier Ltd. All rights reserved. doi:10.1016/j.cad.2007.10.003
14

Boolean surfaces with shape constraints

May 15, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Boolean surfaces with shape constraints

Computer-Aided Design 40 (2008) 62–75www.elsevier.com/locate/cad

Boolean surfaces with shape constraints

Paolo Costantini, Francesca Pelosi∗, Maria Lucia Sampoli

Dipartimento di Scienze Matematiche ed Informatiche, Pian dei Mantellini 44, Siena, Italy

Received 4 October 2006; accepted 1 October 2007

Abstract

In this paper, we present a new method for the construction of parametric surfaces reproducing an object from a set of spatial data. We adopt ahybrid scheme, based on the Boolean sum of variable degree spline operators, which both interpolate a set of grid lines and approximate the data.As usual the variable degrees can be chosen to satisfy proper shape constraints.c© 2007 Elsevier Ltd. All rights reserved.

Keywords: Boolean schemes; Best approximation; Shape preservation; Variable degrees

1. Introduction

The goal of this paper is to provide mathematical models forthe reproduction of real objects. Often, such a construction isobtained computing a surface which approximates a set of datapoints taken from the object itself; moreover, the measurementsoften produce a huge amount of accurate data, which in turnfurnish a good representation of the shape of the object.

It is clear that the surface must reproduce the mainvisual features (corners, ridges, patches with “visuallyuniform” curvature etc.), and this requirement brings ourconstruction within the frame of the so-called shapepreserving approximations. Despite its importance in practicalapplications, the shape preserving approximation has notreceived considerable attention. To the best of our knowledge,the problem of constructing shape preserving approximatingplanar or spatial curves has been addressed only in thepapers [4–6,14]; similarly, [8] seems to be the only paperdealing with shape preserving parametric surfaces.

In order to facilitate the comprehension of the followingsections, we give here a brief account of the main steps whichhave driven our recent researches in this field.

We start with the simple and well-known problem of theconstruction of shape preserving interpolating curves. Supposewe are given a set of points (ti , Pi ) , i = 0, . . . , N wherePi ∈ Rd , d = 2, 3 and ti ∈ R is the associated parameter value.

∗ Corresponding author. Tel.: +39 0577 233738; fax: +39 0577 233730.E-mail addresses: [email protected] (P. Costantini), [email protected]

(F. Pelosi), [email protected] (M.L. Sampoli).

0010-4485/$ - see front matter c© 2007 Elsevier Ltd. All rights reserved.doi:10.1016/j.cad.2007.10.003

A typical scheme is usually composed by the followingsteps. First, we compute the piecewise linear curve interpolatingthe data points and, second, we use it for extracting theirgeometric characteristics (e.g. discrete curvature and torsion).Then we construct an interpolating curve using some kind ofspline in tension, that is splines which depend on a set oftension parameters and which can be modified (stretched) sothat their shape tends to the shape of the piecewise linear curve.Summarizing, (a) we construct a reference curve, (b) definethe shape of the data as the shape of the reference curve,and (c) construct an interpolating (smoother) curve whichcan reproduce as far as we want the shape of the referencecurve.

Recently, a method to create shape preserving approximat-ing curves has also been proposed [4–6]. In this case, step (a) isreplaced by (a.1): to define a knot sequence in the parameter in-terval [t0, tN ], extracting from the parameter values t0, . . . , tN

a subsequence u0, . . . , um (typically m N ), and (a.2): toconstruct a piecewise reference curve which gives a good repro-duction of the shape of the data. Starting from our experience ininterpolation, in [4] and [5] we used for step (a.2) the piecewiselinear curve (defined on the knot sequence) of the best leastsquares approximation to the data (b.a. in short), but we soonrealized that b.a. C0 quadratic splines would have provided amore effective reference curve in the case of approximation [6].

This approach was then extended to the surface case in [8].Suppose we are given a set of spatial data together with thecorresponding parameter values, either with a tensor-producttopology

Page 2: Boolean surfaces with shape constraints

P. Costantini et al. / Computer-Aided Design 40 (2008) 62–75 63

P :=

(tµ, rν, Pµ,ν) : Pµ,ν ∈ R3

; µ = 0, . . . , M;

ν = 0, . . . , N

(1)

or scattered

P :=

(tλ, rλ, Pλ) : Pλ ∈ R3

; λ = 0, . . . , L

(2)

and let

D := [tmin, tmax] × [rmin, rmax] (3)

be the parameter domain, where tmin, rmin and tmax, rmax are theminimum and the maximum of the parameters.

We first select lines of significant points, or, in other words,two ordered sequences

U := u0, . . . , um ⊂ t0, . . . , tM ,

V := v0, . . . , vn ⊂ r0, . . . , rN

or

U := u0, . . . , um ⊂ t0, . . . , tL,

V := v0, . . . , vn ⊂ r0, . . . , rL

(4)

such that the sub-rectangles [ui , ui+1] × [v j , v j+1] define partsof the object with an uniform shape. We then take S0

2 × S02, the

space of parametric tensor-product C0 quadratic splines definedon U × V and pick the b.a., σ ∗, which is used as referencesurface to define the shape of the data. In the last step, we take asuitable space of C2 tensor-product variable degree parametricsplines (which, in the limit, tends to the C0 biquadratic one) andselect from it s∗, the b.a. to the data. With a proper choice of thedegrees, we obtain that s∗ has the same shape as σ ∗ or, in otherwords, is shape preserving.

We remark that using a surface from this variable degreespace (instead of the C0 reference surface itself) has as its mainadvantage the possibility of locally modifying the shape, andthus reproducing with the same mathematical model either thesmooth patches or ridges and corners of the underlying object.

However, it is quite common that some feature curvesboth summarize the shape of real objects and are crucialfor understanding their physical properties. In some cases,these are explicitly known (think, for instance, of the circularsections of mechanical pipes) and must be exactly reproduced.In other circumstances, the shape of the data set immediatelysuggests more evident, curve-like subsets which divide thedata in patches of uniform shape and thus give a syntheticvisual description of the object itself (as a simple examplewe can think of data taken from a cube). In this case, a goodmathematical description of such subsets (obtained by meansof a network of shape preserving curves approximating the datasubsets) is a crucial preliminary step; then, we will require againthat this network of feature curves is exactly reproduced in thefinal surface.

For both these cases, the tensor-product approach describedabove is not satisfactory.

In this paper, we propose a possible solution to this problem.Given an arbitrary set Ω , in the sequel we shall denote by C(Ω)

a function which is continuous over Ω . Let us consider the set

of grid lines

D := U × [v0, vn] ∪ [u0, um] × V (5)

and suppose we are given a set of feature curves or, in otherwords, a function

G : D 7→ R3, G ∈ C(D). (6)

We use a Boolean scheme (see, e.g. [13]) composed by one-dimensional, over-determined, variable degree spline operatorsderived from [3]. We recall that surfaces obtained by means ofthe Boolean sums of interpolation operators have intrinsicallythe capability of interpolating a network of curves, or, in otherwords, of performing the so-called transfinite interpolation.Details will be given later; for now it suffices to say thatwe will use over-determined operators, so that the surface isnot completely defined by the curve network, and maintain asuitable number of degrees of freedom; therefore, it will bepossible both to interpolate the grid lines (6) and to approximatethe remaining data (1) or (2). Moreover, since the splinesintroduced in [3] can approximate C0 quadratic splines, theshape constraints can be fulfilled by suitable choices of thevariable degrees.

If not known a priori, in the case of tensor-product data (1)the feature lines can possibly be constructed by combining thezero-moment analysis described in [8] with an extension of themethod proposed in [6] for the construction of spatial shapepreserving approximating curves. Referring for details to thepapers quoted above (see also Section 3.1), we limit ourselvesto saying that by using the zero moment analysis it is possibleto automatically extract significant subsequences of data whichform a grid of discrete feature curves. This gridded subset isthen approximated by a network of spline curves providing usthe function (6) needed for our Boolean scheme.

It is worth noticing that in [8] the selection of significantgrid lines is used for subdividing the data and the parameterdomain in sub-patches with similar shape, but in the subsequentstep all the points are uniformly treated by the tensor-productapproximation.

Here, the approximation process is performed in two steps:first we approximate the points selected in the discrete gridand then, with the Boolean surface, the remaining ones. Inother words, we privilege the approximation and the geometricreproduction of the feature lines.

This paper is divided into 7 sections. In the next two, weprovide the necessary univariate and bivariate mathematicaltools. In Section 4, we describe the construction of the surfaceand of the grid of reference curves. Since the constructionof the grid of feature curves is in some sense additionalto the main idea of Boolean surfaces, it is contained inSection 5. Graphical examples are reported in Section 6, andthe conclusive comments in Section 7.

2. The one dimensional splines

In this section, we give the mathematical preliminaries,which are essentially grounded on the quartic like variabledegree polynomial splines (VDPS in short) developed in [3]and [6].

Page 3: Boolean surfaces with shape constraints

64 P. Costantini et al. / Computer-Aided Design 40 (2008) 62–75

2.1. The univariate spline space

Let Z = z0, z1, . . . , zq be an ordered knot sequence, lethi := zi+1 − zi , i = 0, . . . , q − 1, and let K = k0, . . . , kq,ki ≥ 4, be a given sequence of integers. For each interval[zi , zi+1

], we define the five-dimensional polynomial space:

V Pki ,ki+1 = span(1 − w)ki , P2, wki+1; w =

z − zi

hi. (7)

Let π ∈ V Pki ,ki+1 . In [3], it is shown that this space has thesame useful structure of P4, in the sense that it admits a totallypositive Bernstein–Bezier basis (and thus the shape of π canbe described by the corresponding Bezier polygon), and thecost for the evaluation of π is equivalent to the evaluation of aquartic polynomial. The reader is referred also to [7] for widerresults on generalized polynomials.

Using (7), we easily define the space of C2 quartic-likeVDPS

V SZ,K = s ∈ C2[z0, zq ] s.t. s(z) = πi (w); πi ∈ V Pki ,ki+1 ,

z ∈ [zi , zi+1], w = (z − zi )/hi , i = 0, . . . , q − 1.

In [6], it is shown that V SZ,K admits a stochasticand compactly supported B-spline like basis, denoted byN−1, N0, . . . , N2q , N2q+1. Note that Ni = Ni (·;Z,K). Aspline curve in R3 can be constructed as

VSZ,K =

s : [z0, zq ] → R3 s.t. has components in V SZ,K

(8)

and any spline curve s ∈ VSZ,K can be expressed as

s =

2q+1∑i=−1

di Ni .

The points d−1, d0, . . . , d2q , d2q+1 are called pseudo-de Boorcontrol points and play the same role as the classical controlpoints for quartic splines. In particular, the control points of π ∈

V Pki ,ki+1 , corresponding to s|[zi ,zi+1], can be computed withsome steps of a corner cutting procedure (for details see [3]);as a consequence, using also the well-known results of [12], theshape of the spline curve can be controlled using the pseudo-deBoor points, making easier both the theoretic and the practicaltasks. Inheriting the polynomial properties, the evaluation of aspline s ∈ VSZ,K has the same cost as for a C2 quartic splinecurve.

2.2. Boundary conditions

The practical use of (8) in approximations requires somedistinctions in dealing with open or closed curves or surfaces,and we need suitable boundary conditions.

For open curves, we consider restricted polynomial spaces atthe first and last subintervals of the knot sequences, of the form

V Pk1 = spanP2, wk1, V Pkq−1 = span(1 − w)kq−1 , P2

and we construct the univariate space VSZ,K,open as:

VSZ,K,open = s ∈ VSZ,K : s|[z0,z1] and s|[zq−1,zq ]

have components in V Pk1 and V Pkq−1. (9)

The idea behind (9) is that the dimension of VSZ,K,open isthe same as for C0 quadratic spline curves, a property that ishelpful when coupled with the asymptotic properties of ourvariable degree splines [6]. Note also that this space admits aB-spline basis N0,N1, . . . ,N2q−1,N2q , obtained with a slightmodification of the scheme used for (8).

In the case of closed curves, we consider the univariate spaceVSZ,K,closed of the form:

VSZ,K,closed =

s ∈ VSZ,K : s =

2q−1∑i=0

diNi

, (10)

where the basis functionsNi are obtained by imposing periodicextensions of the boundary control points:

N0 := N0 + N2q ,

N1 := N1 + N2q+1, Ni := Ni , i = 1, . . . , 2(q − 1),

N2q−1 := N2q−1 + N0.

Note that the properties of B-splines do not hold for the firstand last groups of the above functions; for details see [6].

The main characteristic of the space VSZ,K,T, T ∈

open, closed, is in the asymptotic properties. Let S02,T, T ∈

open, closed, denote the space of C0 quadratic spline curvesdefined on the knot sequence Z , and let us denote withN (2)

0 ,N (2)1 , . . .

its basis. In [3], the following property is

proven.

Proposition 1. Let s ∈ VSZ,K,T, s =∑

aiNi . Then, for anyz ∈ [z0, zq ]

limk0,k1,...,kq→∞

s(z) =

∑aiN (2)

i (z).

2.3. Lagrange basis and interpolating operators

In order to easily construct interpolating operators, in thefollowing we will use the Lagrange-type basis for the space(9) and (10), obtained from the pseudo B-spline basis Ni witha matrix transformation. Let us consider the following sets,composed by the knot sequence and by the intermediate points

zRi := zi , i = 0, 1, . . . , η

zCi :=

zi + zi+1

2, i = 0, 1, . . . , q − 1

and let

X :=

zR

0 , zR1 , . . . , zR

η

zC

0 , zC1 , . . . , zC

q−1

(11)

where η := q or η := q −1 in the open or closed case. From thepseudo B-spline basis Ni , i = 0, 1, . . . , η + q of VSZ,K,T,T ∈ open, closed, we construct the Lagrange fundamentalbasis ΦR,K

i , i = 0, 1, . . . , η; ΦC,Ki , i = 0, 1, . . . , q − 1,

Page 4: Boolean surfaces with shape constraints

P. Costantini et al. / Computer-Aided Design 40 (2008) 62–75 65

Fig. 1. Example of ΦR,Ki (solid) and ΦC,K

i (dashed) of the Lagrange basisfor VSZ,K with degree sequence K = 4, 4, . . . , 4 and knot sequence Z =

0, 1, . . . , 9.

Fig. 2. Example of ΦR,Ki (solid) and ΦC,K

i (dashed) of the Lagrange basis forVSZ,K with degree sequence K = 4, 4, 4, 100, 100, 100, 4, 4, 4, 4 and knotsequence Z = 0, 1, . . . , 9.

with ΦR,Ki ,ΦC,K

i ∈ VSZ,K,T, by imposing the followingconditions:

ΦR,Ki (z) :=

1, if z = zR

i ;

0, if z = zRj , j 6= i;

0, if z = zCj ;

ΦC,Ki (z) :=

1, if z = zC

i ;

0, if z = zCj , j 6= i;

0, if z = zRj .

(12)

The space VSZ,K,T can be expressed as

VSZ,K,T = spanΦR,Ki , i = 0, 1, . . . , η, ΦC,K

i ,

i = 0, 1, . . . , q − 1, (13)

with η ∈ q, q − 1 and dim(VSZ,K,T) = q + η + 1.

Figs. 1 and 2 show an example of the Lagrange basisfunctions ΦR,K

i and ΦC,Ki with different degrees. Several

numerical tests indicate that the Lagrange basis (12) is well

conditioned, a fact that can be explained observing that thenegative oscillations remain of limited size.

Let f : X 7→ R3. We conclude this subsection byintroducing an interpolating operator useful for our Booleanschemes:

PK : R3×(q+η+1)7→ VSZ,K,T,

where

PK(f ) =

η∑i=0

f(

zRi

)ΦR,K

i +

q−1∑i=0

f(

zCi

)ΦC,K

i . (14)

3. Bivariate Boolean splines

In this section, we describe the properties of the bivariatesplines which will be used for the construction of theapproximating surface.

3.1. The Boolean operator

Given two sequences of knots U = u0, u1, . . . , um, V =

v0, v1, . . . , vn we define

u Ri := ui , i = 0, 1, . . . , ηu

uCi :=

ui + ui+1

2, i = 0, 1, . . . , m − 1

and

vRj := v j , j = 0, 1, . . . , ηv

vCj :=

v j + v j+1

2, j = 0, 1, . . . , n − 1,

where ηu = m−1, m, ηv = n−1, n, depending on the assignedboundary conditions (closed/open), as described in the abovesubsection. Recalling (5), we define the sets

E :=

uC

0 , uC1 , . . . , uC

m−1

× [v0, vn]

[u0, um] ×

vC

0 , vC1 , . . . , vC

n−1

and

∆ := D ∪ E .

We consider two degree sequences Ku and Kv

Ku= ku

i : kui ≥ 4, i = 0, 1, . . . , m,

Kv= kv

j : kvj ≥ 4, j = 0, 1, . . . , n;

and we form the univariate spaces VSU ,Ku , VSV,Kv of quartic-like VDPS of the form (13) defined respectively on the knots Uand V , and depending on the degrees Ku and Kv:

VSU ,Ku = spanΦR,Ku

i (u), i = 0, 1, . . . , ηu, ΦC,Ku

i (u),

i = 0, 1, . . . , m − 1,

VSV,Kv = spanΨ R,Kv

j (v), j = 0, 1, . . . , ηv, ΨC,Kv

j (v),

j = 0, 1, . . . , n − 1,

Page 5: Boolean surfaces with shape constraints

66 P. Costantini et al. / Computer-Aided Design 40 (2008) 62–75

Fig. 3. Example of Γ of the form (17): G (solid) and H (dashed).

where ΦR,Ku

i (u),ΦC,Ku

i (u) are the Lagrange fundamental ba-sis functions defined on the knots u R

i , uCi with degree sequence

Ku , and Ψ R,Kv

j (v),ΨC,Kv

j (v) the Lagrange fundamental basis

functions defined on the knots vRj , vC

j with degree sequenceKv .

We then consider two interpolating operators

PUKu : R3×(m+ηu+1)→ VSU ,Ku ,

PVKv : R3×(n+ηv+1)→ VSV,Kv ,

such that, for any

Γ : ∆ 7→ R3; Γ ∈ C(∆), (15)

we have

PUKuΓ (u, v) =

ηu∑i=0

Γ (u Ri , v)ΦR,Ku

i (u)

+

m−1∑i=0

Γ (uCi , v)ΦC,Ku

i (u),

PVKvΓ (u, v) =

ηv∑j=0

Γ (u, vRj )Ψ R,Kv

j (v)

+

n−1∑j=0

Γ (u, vCj )ΨC,Kv

j (v).

Note thatPUKuΓ andPVKvΓ are defined in the parameter domain(3).

Finally, we construct the Boolean operator PUKu ⊕ PVKv

defined by

PUKu ⊕ PVKv := PUKu + PVKv − PUKuPVKv

and such that

(PUKu ⊕ PVKv )Γ (u, v)

=

(ηu∑

i=0

Γ (u Ri , v)ΦR,Ku

i (u) +

m−1∑i=0

Γ (uCi , v)ΦC,Ku

i (u)

)

+

(ηv∑j=0

Γ (u, vRj )Ψ R,Kv

j (v) +

n−1∑j=0

Γ (u, vCj )ΨC,Kv

j (v)

)

(ηu∑

i=0

ηv∑j=0

Γ (u Ri , vR

j )ΦR,Ku

i (u)Ψ R,Kv

j (v)

+

ηu∑i=0

n−1∑j=0

Γ (u Ri , vC

j )ΦR,Ku

i (u)ΨC,Kv

j (v)

+

m−1∑i=0

ηv∑j=0

Γ (uCi , vR

j )ΦC,Ku

i (u)Ψ R,Kv

j (v)

+

m−1∑i=0

n−1∑j=0

Γ (uCi , vC

j )ΦC,Ku

i (u)ΨC,Kv

j (v)

). (16)

It is important to note that definition (16) requires a function Γdefined on ∆ and that

(PUKu ⊕ PVKv )Γ (u, v) = Γ (u, v), ∀(u, v) ∈ ∆;

In view of the applications in the next section, such a functionis defined by

Γ : Γ (u, v) =

G(u, v) if (u, v) ∈ D,

H(u, v) if (u, v) ∈ E,(17)

where G is the network of feature curves we want to reproduce,and H is a function such that

H : E 7→ R3, H ∈ C(E),

H(uCi , vR

j ) = G(uCi , vR

j ),

H(u Ri , vC

j ) = G(u Ri , vC

j ), all i, j;

(18)

(see also the graphical interpretation given in Fig. 3). Weanticipate that H will not be explicitly computed; on thecontrary, since (18) can be satisfied by several functions,it implicitly furnishes the free variables to be used in theapproximation process. The basic idea is to use splines fromthe space (13) for each section u = uC

i and v = vCj and form a

grid of intersecting curves. Let

kuCj = kuC

i, j : kuCi, j ≥ 4, i = 0, 1, . . . , m,

j = 0, 1, . . . , n − 1,

kvCi = kvC

i, j : kvCi, j ≥ 4, j = 0, 1, . . . , n,

i = 0, 1, . . . , m − 1,

(19)

be independent sequences of degrees along the u (v) directionassociated to the knots vC

j (uCi ), and let

ΦR,kuC

ji (u), Φ

C,kuCj

i (u), ΨR,kvC

ij (v), Ψ

R,kvCi

j (v),

be the Lagrange basis functions of the form (12) with degreesequences (19). As an intermediate step, we introduce thefunctions

huCj (u) :=

ηu∑i=0

G(u Ri , vC

j )ΦR,kuC

ji (u) +

m−1∑i=0

αCi, jΦ

C,kuCj

i (u),

hvCi (v) :=

ηv∑j=0

G(uCi , vR

j )ΨR,kvC

ij (v) +

n−1∑j=0

αCi, jΨ

C,kvCi

j (v),

Page 6: Boolean surfaces with shape constraints

P. Costantini et al. / Computer-Aided Design 40 (2008) 62–75 67

where the αCi, j are the free variables and, recalling (18), we

finally define

H(u, v) :=

huC

j (u) if v = vCj , j = 0, 1, . . . , n − 1,

hvCi (v) if u = uC

i , i = 0, 1, . . . , m − 1.(20)

We remark that the intersection conditions required in (18) aresatisfied; moreover, since the same values αC

i, j are shared by

huCj and hvC

i ,

huCj (uC

i ) = hvCi (vC

j ), i = 0, 1, . . . , m − 1,

j = 0, 1, . . . , n − 1

and thus definition (20) is consistent. Using (17) and (20), thesurface (16) takes the form

(PUKu ⊕ PVKv )Γ (u, v)

=

(ηu∑

i=0

G(u Ri , v)ΦR,Ku

i (u) +

m−1∑i=0

H(uCi , v)ΦC,Ku

i (u)

)

+

(ηv∑j=0

G(u, vRj )Ψ R,Kv

j (v) +

n−1∑j=0

H(u, vCj )ΨC,Kv

j (v)

)

(ηu∑

i=0

ηv∑j=0

G(u Ri , vR

j )ΦR,Ku

i (u)Ψ R,Kv

j (v)

+

ηu∑i=0

n−1∑j=0

G(u Ri , vC

j )ΦR,Ku

i (u)ΨC,Kv

j (v)

+

m−1∑i=0

ηv∑j=0

G(uCi , vR

j )ΦC,Ku

i (u)Ψ R,Kv

j (v)

+

m−1∑i=0

n−1∑j=0

H(uCi , vC

j )ΦC,Ku

i (u)ΨC,Kv

j (v)

),

That is, expanding H,

(PUKu ⊕ PVKv )Γ (u, v) =

ηu∑i=0

G(u Ri , v)ΦR,Ku

i (u)

+

ηv∑j=0

G(u, vRj )Ψ R,Kv

j (v)

+

m−1∑i=0

ηv∑j=0

G(uCi , vR

j )ΦC,Ku

i (u)ΨR,kvC

ij (v)

+

m−1∑i=0

n−1∑j=0

αCi, jΦ

C,Ku

i (u)ΨC,kvC

ij (v)

+

ηu∑i=0

n−1∑j=0

G(u Ri , vC

j )ΦR,kuC

ji (u)ΨC,Kv

j (v)

+

m−1∑i=0

n−1∑j=0

αCi, jΦ

C,kuCj

i (u)ΨC,Kv

j (v)

ηu∑i=0

ηv∑j=0

G(u Ri , vR

j )ΦR,Ku

i (u)Ψ Ri (v)

ηu∑i=0

n−1∑j=0

G(u Ri , vC

j )ΦR,Ku

i (u)ΨC,Kv

j (v)

m−1∑i=0

ηv∑j=0

G(uCi , vR

j )ΦC,Ku

i (u)Ψ R,Kv

j (v)

m−1∑i=0

n−1∑j=0

αCi, jΦ

C,Ku

i (u)ΨC,Kv

j (v).

We recall that in the above formula, the superscripts R,Ku ,C,Ku , R,Kv , C,Kv , are associated to the variable degreeLagrange functions used for the Boolean operator – that is,for constructing the entire surface – and the superscriptsR, kvC

i , C, kvCi , R, kuC

j , C, kuCj are associated to the variable

degree Lagrange functions used for H – that is, forconstructing the missing grid of curves. If we introduce thefunctions

Fi, j : D 7→ R; i = 0, . . . , m − 1, j = 0, . . . , n − 1,

Fi, j := ΦC,Ku

i ΨC,kvC

ij + Φ

C,kuCj

i ΨC,Kv

j − ΦC,Ku

i ΨC,Kv

j ,(21)

we obtain a new expression of (16)

(PUKu ⊕ PVKv )Γ (u, v) =

m−1∑i=0

n−1∑j=0

αCi, jFi, j (u, v) + Θ(u, v),

(22)

where

Θ(u, v) =

ηu∑i=0

G(u Ri , v)ΦR,Ku

i (u) +

ηv∑j=0

G(u, vRj )Ψ R,Kv

j (v)

+

m−1∑i=0

ηv∑j=0

G(uCi , vR

j )ΦC,Ku

i (u)ΨR,kvC

ij (v)

+

ηu∑i=0

n−1∑j=0

G(u Ri , vC

j )ΦR,kuC

ji (u)ΨC,Kv

j (v)

ηu∑i=0

ηv∑j=0

G(u Ri , vR

j )ΦR,Ku

i (u)Ψ R,Kv

j (v)

ηu∑i=0

n−1∑j=0

G(u Ri , vC

j )ΦR,Ku

i (u)ΨC,Kv

j (v)

m−1∑i=0

ηv∑j=0

G(uCi , vR

j )ΦC,Ku

i (u)Ψ R,Kv

j (v).

It is clear from (22) that the Boolean surface is composed ofa linear combination of the functions (21) plus a known term.Moreover (see also Figs. 4 and 5)

Fi, j (uAp , vB

q ) =

1 if p = i, q = j, A = B = C,

0 otherwise,

and so these are linearly independent. In the sequel, we shallconsider also the space

VF :=

m−1∑i=0

n−1∑j=0

αCi, jFi, j : αC

i, j ∈ R3

.

Page 7: Boolean surfaces with shape constraints

68 P. Costantini et al. / Computer-Aided Design 40 (2008) 62–75

Fig. 4. Example of Fi, j , all the degrees equal to 4.

Fig. 5. Example of Fi, j , all the degrees equal to 500.

3.2. Asymptotic properties

From Proposition 1, we know that the variable degree basisfunctions (both in the B-spline and the Lagrange form) tend,for limit values of the degrees, to the corresponding basesof S0

2. Therefore, we naturally expect that similar asymptoticproperties hold also for the interpolating operators and for theBoolean surface (16) and (22).

For space reasons, we give a concise form of the mainresults, omitting the technical details similar to those presentedin [8]. Using the notation of Section 2.2, let S0

2,T, T ∈

open, closed, be the space of C0 quadratic spline curves. Theresults presented so far can be applied, in a simpler form, tosuch space. In particular, we can define the Lagrange basisfunctions

ΦR,(2)i = ΦR,(2)

i (u), ΦC,(2)i = ΦC,(2)

i (u);

Ψ R,(2)j = Ψ R,(2)

j (v), ΨC,(2)j = ΨC,(2)

j (v)

and use them instead of both ΦR,Ku

i ,ΦC,Ku

i ,Ψ R,Kv

j ,ΨC,Kv

j

and ΦR,kuC

ji ,Φ

C,kuCj

i , ΨR,kvC

ij ,Ψ

C,kvCi

j . If we set

F (2)i, j : D 7→ R; i = 0, . . . , m − 1, j = 0, . . . , n − 1

F (2)i, j := ΦC,(2)

i ΨC,(2)j

and

VF(2):=

m−1∑i=0

n−1∑j=0

αCi, jF

(2)i, j : αC

i, j ∈ R3

we obtain a simplified form of (22) for the Boolean operator(PU(2) ⊕ PV(2))

(PU(2) ⊕ PV(2))Γ (u, v) =

m−1∑i=0

n−1∑j=0

αCi, jF

(2)i, j (u, v) + Θ (2)(u, v),

where

Θ (2)(u, v) =

ηu∑i=0

G(u Ri , v)ΦR,(2)

i (u) +

ηv∑j=0

G(u, vRj )Ψ R,(2)

j

ηu∑i=0

ηv∑j=0

G(u Ri , vR

j )ΦR,(2)i (u)Ψ R,(2)

j (v).

Let a and b be real vectors of the same length. In the following,inequalities like a > b will be intended componentwise. Usingthe same arguments of [8], we have the following result.

Theorem 1. Let (PUKu ⊕ PVKv )Γ (u, v) =∑m−1

i=0∑n−1

j=0 αCi, j

Fi, j (u, v) + Θ(u, v), and let (PU(2) ⊕ PV(2))Γ (u, v) =∑m−1i=0

∑n−1j=0 αC

i, jF(2)i, j (u, v) + Θ (2)(u, v). Then, ∀(u, v) ∈ D

and ∀ρ > 0, there exist threshold valuesKu,Kv

, kuCj , kvC

i such

that for all the sequencesKu,Kv, kuCj , kvC

i such thatKu > Ku,

Kv > Kv, kuC

j > kuCj , kvC

i > kvCi∥∥∥(PUKu ⊕ PVKv )Γ (u, v) − (PU(2) ⊕ PV(2))Γ (u, v)

∥∥∥ < ρ.

4. The approximating surface

In this section, we use the Boolean operators to construct theapproximating surface. Here we assume that the both the data(either in the form (1) or (2)) and the grid of feature curves Gare given; the construction of G, in the case of data (1) and ifthe analytic form of the grid lines is not available, is deferred tothe next section.

We recall that in Section 2.2 the boundary conditions havebeen incorporated into the spaces (9) or (10) and, using properlytheir Lagrange basis functions, the Boolean surface (16) hasbeen split into a linear and in a constant part. In other words,we will use the variables αC

i, j ∈ R3 to approximate the data viaa standard unconstrained linear least squares problem.

The tension parameters (the degrees) will then be used tocontrol the shape of the surface, modelling its shape on thereference surface.

4.1. The zero-moments analysis

We start with a brief preliminary description of the zero-moment analysis. The reader is referred to [2,15] for a more

Page 8: Boolean surfaces with shape constraints

P. Costantini et al. / Computer-Aided Design 40 (2008) 62–75 69

detailed explanation and to [8–10] for a description of somepractical applications.

Let x : T → R3, be a parametric surface from the parametermanifold T ⊂ R2. In accordance with [2,15], we state thefollowing

Definition 1. For any (u, v) ∈ T , the zero moment of xat (u, v) is given by the barycenter M0

ε (x(u, v)) of x(T ) ∩

Bε(x(u, v)):

M0ε (x(u, v)) :=

1A (x(T ) ∩ Bε)

∫Iε

xdA (23)

where A(·) is the area of a surface; dA is the area element;Bε := Bε(x(u, v)) is the Euclidean ball in R3 of radius ε,centered at x(u, v) and the domain of the integral is definedas Iε := (t, r) ∈ T : x(t, r) ∈ Bε(x(u, v)).

Using the zero moment, we can define difference vector

nε(u, v; x) := M0ε (x(u, v)) − x(u, v),

which will be called the ε-normal; the main result of [2] relatessuch a vector with the mean curvature of x(u, v) and the normalvector of the surface at (u, v).

Theorem 2. Let x : T → R3, be a regular parametric surface.For (u, v) ∈ T , consider a ball of radius ε with center x(u, v).Then

nε(u, v; x) = −ε2 16

H(u, v)n(u, v) + o(ε2),

where H(u, v) and n(u, v) are respectively the mean curvatureand the normal vector of the surface x at (u, v).

From the above theorem, we have that ‖nε(u, v; x)‖/ε2 isproportional to the mean curvature H(u, v), and thus it can beused to select corners or sharp changes in the shape of x(u, v).Moreover, since the vector nε(u, v; x) lies parallel to the normaln(u, v), it gives information about convex or concave behaviorsof x(u, v), in a neighborhood of (u, v). In virtue of theseconsiderations, nε(u, v; x) will be called local ε shape of x.

In [8–10], the discrete counterpart of (23) – the barycenterof the points belonging to the ball – has been used for the shapeanalysis.

4.2. The Boolean surface

Suppose we are given the data (1) or (2). Let ζ : D 7→ R3,ζ ∈ C(D). We introduce the following semi-norm

|ζ | :=

√√√√ M∑µ=0

N∑ν=0

∥∥ζ (tµ, rν

)∥∥22 or

|ζ | :=

√√√√ L∑λ=0

‖ζ (tλ, rλ)‖22 (24)

respectively for the cases (1) or (2). Justified by practicalapplications (where we have many and well spread data), weassume that the following assumption holds.

Proposition 2. The semi-norm (24) is a norm for the (finitedimensional) spaces VF and VF(2).

We note that

(PUKu ⊕ PVKv )Γ (tµ, rν) − Pµ,ν

=

m−1∑i=0

n−1∑j=0

αCi, jFi, j (tµ, rν) − Υ(tµ, rν)

or

(PUKu ⊕ PVKv )Γ (tλ, rλ) − Pλ

=

m−1∑i=0

n−1∑j=0

αCi, jFi, j (tλ, rλ) − Υ(tλ, rλ),

where Υ : D 7→ R3 is such that

Υ(tµ, rν) = Pµ,ν − Θ(tµ, rν) or

Υ(tλ, rλ) = Pλ − Θ(tλ, rλ). (25)

Similarly

(PU(2) ⊕ PV(2))Γ (tµ, rν) − Pµ,ν

=

m−1∑i=0

n−1∑j=0

αCi, jF

(2)i, j (tµ, rν) − Υ (2)(tµ, rν)

or

(PU(2) ⊕ PV(2))Γ (tλ, rλ) − Pλ

=

m−1∑i=0

n−1∑j=0

αCi, jF

(2)i, j (tλ, rλ) − Υ (2)(tλ, rλ),

where Υ (2): D 7→ R3 is such that

Υ (2)(tµ, rν) = Pµ,ν − Θ (2)(tµ, rν) or

Υ (2)(tλ, rλ) = Pλ − Θ (2)(tλ, rλ). (26)

In analogy with the scheme of [8], we construct φ∗∈ VF(2),

the b.a. to the data.∣∣∣φ∗− Υ (2)

∣∣∣ ≤

∣∣∣φ − Υ (2)∣∣∣ , ∀φ ∈ VF(2).

Remark 1. Since, obviously, the minimization of∣∣φ − Υ (2)

∣∣is equivalent to that of

∣∣φ − Υ (2)∣∣2, the computation of φ∗

requires the solution of three independent discrete least squaresproblems for three surface components.

We use φ∗ for a comprehensive visual description of the dataset, that is we give the following definition.

Definition 2. The (local) shape of the data P is given bynε(u, v; φ∗).

Similarly, let f∗∈ VF such that∣∣f∗

− Υ∣∣ ≤ |f − Υ | , ∀f ∈ VF.

We remark that f∗ does indeed depend on the degrees; we havethe following result.

Page 9: Boolean surfaces with shape constraints

70 P. Costantini et al. / Computer-Aided Design 40 (2008) 62–75

Theorem 3. Let f∗ and φ∗ be the b.a. to the data respectivelyin VF and VF(2). Then, ∀ρ > 0 there exist thresholdvalues Ku

,Kv, kuC

j , kvCi such that for all the sequences

Ku,Kv, kuCj , kvC

i such that Ku > Ku, Kv > Kv

, kuCj > kuC

j ,

kvCi > kvC

i∣∣ f∗− φ∗

∣∣ < ρ.

The proof is identical to that of Theorem 4 in [8] andis therefore omitted. Roughly speaking, the basic idea is thefollowing. We know from Theorem 1 that the space VF “tends”,for limit values of the degrees, to VF(2); and, similarly, that Υtends to Υ (2); by the uniqueness of the b.a. and using continuityarguments we have the claim.

We also have the following corollary.

Corollary 1. Let f∗ and φ∗ be the b.a. to the data respectivelyin VF and VF(2). Then, ∀ρ > 0 there exist thresholdvalues Ku

,Kv, kuC

j , kvCi such that for all the sequences

Ku,Kv, kuCj , kvC

i such that Ku > Ku, Kv > Kv

, kuCj > kuC

j ,

kvCi > kvC

i∥∥nε(u, v; f∗) − nε(u, v; φ∗)∥∥ < ρ.

Summarizing, we first compute our reference surface, σ ∗:=

φ∗+Υ (2). We then obtain our approximating surface, s∗, given

by

s∗:= f∗

+ Υ ,

solving unconstrained linear least square problems and, becauseof Corollary 1, we repeat the process until the shape of s∗ is thesame as the reference surface σ ∗.

Unfortunately, it is impossible at this moment to devise ascheme for an automatic computation of the degrees which areinteractively selected by the user (see also the comments in thefinal section).

5. The grid of feature curves

In this section, we will discuss the possible construction of asuitable function G, if not known a priori.

Assume that the data are given in a tensor-product structureas in (1). Using zero-moment analysis and, more specifically,Algorithm 1 of [8], it is possible to extract from the dataparameters two subsequences of knots, U = u0, . . . , um,with ui = tµi and V = v0, . . . , vn with v j = rν j and tosubdivide D using the rectangles

[ui , ui+1

]×[v j , v j+1

]such

that the corresponding subsets of points Pµ,ν define subregionsof “uniform shape”. Note that

L :=Pi, j : (i, j) ∈ IL

, (27)

where

IL := (µ, ν) : tµ = ui or rν = v j ; i = 0, 1, . . . , m,

j = 0, 1, . . . , n,

is the set of significant points, that is the set of discrete featurecurves. The idea is to approximate L with a network of VDPS

quartic-like curves of the form (8). Since, as we have alreadysaid in the introduction, a good approximation of L is crucialfor the effectiveness of our method, we will use all the possibleflexibility, that is independent variable degrees for each line. Let

ku Rj :=

ku R

i, j : ku Ri, j ≥ 4, i = 0, 1, . . . , m

,

j = 0, 1, . . . , n,

kvRi :=

kvR

i, j : kvRi, j ≥ 4, j = 0, 1, . . . , n

,

i = 0, 1, . . . , m;

(28)

and let

ΦR,ku R

ji = Φ

R,ku Rj

i (u), ΦC,ku R

ji = Φ

C,ku Rj

i (u), j = 0, 1, . . . , n(Ψ

R,kvRi

j = ΨR,kvR

ij (v),Ψ

C,kvRi

j = ΨC,kvR

ij (v), i = 0, 1, . . . , m

)(29)

be the Lagrange basis functions for spaces of the form (8) withknot sequences U (V) and degree sequences ku R

j (kvRi ). We

introduce the Kronecker type functions

δ(v)j = δ

(v)j (v) =

1 if v = v j0 elsewhere

;

δ(u)i = δ

(u)i (u) =

1 if u = ui0 elsewhere

and

δ(u,v)i∪ j = δ

(u,v)i∪ j (u, v) =

1 if u = ui or v = v j0 elsewhere

which we use to define

g(C,u)i, j := Φ

C,ku Rj

i δ(v)j ; i = 0, . . . , m − 1, j = 0, . . . , ηv

g(C,v)i, j := Ψ

C,kvRi

j δ(u)i ; i = 0, . . . , ηu, j = 0, . . . , n − 1

gR,Ri, j := Φ

R,ku Rj

i ΨR,kvR

ij δ

(u,v)i∪ j ; i = 0, . . . , ηu,

j = 0, . . . , ηv.

(30)

Despite the heavy notation, the meaning of (30) is simple:g(C,u)

i, j is the Lagrange basis function in u associated with the

central points (uCi , vR

j ) along the line v = vRj ; g(C,v)

i, j is theLagrange basis function in v associated with the central points(u R

i , vCj ) along the line u = u R

i ; gR,Ri, j is associated with

(u Ri , vR

j ) and is not vanishing along the orthogonal lines u =

u Ri , v = vR

j . We also point out that gR,Ri, j (u, v j ) = Φ

R,ku Rj

i (u)

and gR,Ri, j (ui , v) = Ψ

R,kvRi

j (v).

Note that the functions given in (30) are defined in D andvanish in D \D. We need their restriction on D:

g(C,u)i, j := g(C,u)

i, j |D; g(C,v)i, j := g(C,v)

i, j |D;

gR,Ri, j := gR,R

i, j |D. (31)

Page 10: Boolean surfaces with shape constraints

P. Costantini et al. / Computer-Aided Design 40 (2008) 62–75 71

1 For details on the data of Figs. 11–13 see [1], in particular the points of thefinal example are measured from the end-surface region of the fore part of aship.

Clearly the functions defined in (31) are linearly independent,and we set

VG := span

g(C,u)i, j , g(C,v)

i, j , gR,Ri, j ; all i, j

. (32)

Note that VG is a space of real functions defined on D, that ison a grid in the parameter domain.

We can essentially repeat the scheme of the previous section.If we substitute in (29) the C0 quadratic Lagrange basisfunctions and repeat the above steps, we obtain a set ofquadratic functions

γ(C,u)i, j ; γ

(C,v)i, j ; γ

R,Ri, j

corresponding to (31) and the space

VG(2):= span

γ

(C,u)i, j , γ

(C,v)i, j , γ

R,Ri, j ; all i, j

corresponding to (32).

Let ζ : D 7→ R3, ζ ∈ C(D) and assume that the followingsemi-norm

〈ζ 〉 :=

√ ∑(µ,ν)∈IL

∥∥ζ (tµ, rν

)∥∥22

is a norm for VG and VG(2). We find γ ∗∈ VG(2) the b.a. to the

data (27)

〈γ ∗− L〉 ≤ 〈γ − L〉, ∀γ ∈ VG(2)

and use it as the grid of reference curves. Then we computeg∗

∈ VG such that

〈 g∗− L〉 ≤ 〈g − L〉, ∀g ∈ VG

and repeat the process until we find degree sequences (28)such that g∗ has a shape similar to γ ∗. This is justified by thefollowing facts. First we have the following theorem, similar toTheorem 3 both in the claim and in the proof.

Theorem 4. Let g∗ and γ ∗ be the b.a. to (27) respectively inVG and VG(2). Then ∀ρ > 0, there exist threshold valuesku R

j , kvRi such that for all the sequences of degrees such that

ku Rj > ku R

j , j = 0, . . . , n and kvRi > kvR

i i = 0, . . . , m, wehave

〈 g∗− γ ∗

〉 < ρ.

Second, it is possible (and easier) to define the zero momentfor spatial curves, and in particular n(u, v; g∗) and n(u, v; γ ∗)

[9]; third, a corollary similar to Corollary 1 holds.Finally, we can formally define the grid of feature curves as

G := g∗.

6. Graphical examples

In this section, we want to discuss some practicalapplications of the method described in Section 3. Sinceour method is mainly conceived for applications in reverseengineering, we have used samples of objects (or parts of them)with clear geometric shapes.

Table 1Some CPU times with different (constant) degrees

Data m · n M · N T (s)k = 4 k = 100 k = 500

Example 6 4 540 0.27 0.27 0.27Example 3 20 5396 1.15 1.16 1.16

In Examples 1 and 2, both the data points P and the grid offeature curves G are given (Fig. 6(a)–(b), Fig. 9(a)–(b)): the firstdata set is taken from a composition of a semi-cylinder with aplane, while the second is measured from a winglet at the wingtip.

In both the cases, the approximating blending surface s∗

obtained by setting all the degrees equal to 4 presents someunpleasant inflections (see Fig. 6(c) and Fig. 9(c)), which canbe eliminated by uniformly increasing the degrees kuC

j , kvCi

(Fig. 6(d)) or by locally increasing all the degree sequences(Fig. 9(d)). For the Example 1, Fig. 7 shows s∗

4 and s∗

100projected in the plane (X, Y ) and Fig. 8 shows the referencesurface σ ∗ and the final approximation s∗

100.In Examples 3–5, only the data points P in the form (1)

are known,1 (Figs. 10, 11, 13(a)); thus, we first proceed asexplained in subsection 3.3 for the construction of the featurecurves. The discrete feature curvesL extracted from the data areshown in Figs. 10, 11, 13(b) and the approximating network ofVDPS quartic-like curves g∗ in Figs. 10, 11, 13(c). Figs. 10, 11,13(d)–(e) show the shape of the data σ ∗ and the final shape-preserving Boolean surface s∗. Fig. 12 shows the referencesurface σ ∗ and the shape-preserving approximation s∗ for theExample 4 from a rotated point of view.

We conclude this section with a brief analysis of thecomputational time required by our method.

The algorithm described in the previous sections has beenimplemented in the Matlab language and executed by theMatlab interpreter 7.3.0. The data of Tables 1 and 2 have beenobtained by running some of the examples on a standard laptopcomputer equipped with an Intel Centrino, 2.0 GHz, CPU.

In Table 1 is reported the CPU time (T ) needed to computethe surface s∗ approximating the data set of Examples 6 and3. Three different values of the degrees have been adoptedfor all the operators and the results clearly confirm that thecomputational cost of Boolean surfaces (as well as all variabledegree based curves and surfaces) is independent of the degrees.

In Table 2 is reported the CPU time T for constant degrees(four) and different number of data and patches. Even if,in principle, the amount of data influences the size of thelinear least square problems, the corresponding increment ofthe computational cost is negligible. On the contrary, both thetables show that the time is strictly dependent on the numberof patches. Indeed, on the basis of several experimental results,we state that T ≈ O(m · n).

Page 11: Boolean surfaces with shape constraints

72 P. Costantini et al. / Computer-Aided Design 40 (2008) 62–75

Fig. 6. Example 1: (a) Data points P . (b) Given network of feature curves G. (c) The b.a. s∗4 with all the degrees equal to 4 together with G. (d) The b.a. s∗100 with

kuCi, j = kvC

i, j = 100, ∀i, j together with G.

Fig. 7. Example 1: projection in the plane (X, Z) of s∗4 (a) and s∗100 (b).

Fig. 8. Example 1: (a) The reference surface σ∗. (b) The b.a. s∗100.

Table 2Some CPU times with different amounts of data and patches

m · n 10 20 40 20 20M · N 5396 5396 5396 1368 2736T (s) 0.61 1.15 2.58 0.83 0.97

7. Closure

We have presented a new method for the construction ofparametric Boolean surfaces interpolating – in the transfinite

sense – a set of feature curves and approximating a set of spatialdata, with potential applications in reverse engineering. Usingthe techniques developed in [10] and used in [8] for shapeanalysis, it is also possible to select the significant sections ofpoints, which form the grid of discrete feature curves, and toapproximate them with a grid of spline curves, relieving theuser from the definition of (often complex) input parameters.

The main advantage of the method lies in the possibilityof using a single mathematical model (the VDPS basedBoolean surface) for representing objects composed by patches

Page 12: Boolean surfaces with shape constraints

P. Costantini et al. / Computer-Aided Design 40 (2008) 62–75 73

Fig. 9. Example 2. (a) Data points P . (b) Given network of feature curves G. (c) The b.a. s∗ with all the degrees equal to 4 together with G. (d) The b.a. s∗ with alocal increase on all the degree sequences together with G.

Fig. 10. Example 3: (a) Data points P . (b) The discrete feature curves L. (c) The approximating feature curves g∗. (d) The shape of the data σ∗. (e) The shape-preserving approximating surface s∗.

with different shapes, and by sharp or smooth edges. Thepractical results, reported in the previous section, indicatethat appreciable results are obtained at the cost of limitedcomputational expense.

The Boolean scheme presented here is clearly more flexiblethan the method given in [8]. However, in contrast to the tensor-product approach of [8], we have here no automatic procedurefor the selection of the degrees, and the shape parameters arechosen with an interactive process. The very reason is that in thetensor-product case we have information on the control polygon

of the surface; therefore, we can force it to be sufficiently closeto the control polygon of the reference surface, and so to satisfyprescribed shape constraints (see [8], Corollary 1).

The present case is more complex. Obviously, if the featurecurves are given in the input, the patches of the surface s∗ arein general non-polynomial. We have some chance if the featurecurves are constructed using a net of VDPS curves (Section 5),because in this case s∗ is a polynomial spline surface.Unfortunately the corresponding control polygon is extremelycomplicated (it is the composition of control polygons of

Page 13: Boolean surfaces with shape constraints

74 P. Costantini et al. / Computer-Aided Design 40 (2008) 62–75

Fig. 11. Example 4: (a) Data points P . (b) The discrete feature curves L. (c) The approximating feature curves g∗. (d) The shape of the data σ∗. (e) The shape-preserving approximating surface s∗.

Fig. 12. Example 4: (a) The shape of the data σ∗ rotated. (b) The Shape-preserving approximation s∗ rotated.

Fig. 13. Example 6: (a) Data points P . (b) The discrete feature curves L. (c) The approximating feature curves g∗. (d) The shape of the data σ∗. (e) The shape-preserving approximating surface s∗.

Page 14: Boolean surfaces with shape constraints

P. Costantini et al. / Computer-Aided Design 40 (2008) 62–75 75

different degrees) and, so far, we have not been able to obtainfrom it simple shape preserving sufficient conditions.

We note also that both in (1) and in (2), we expect to knowthe parameter values corresponding to the data points. It is wellknown that the computation of the parameters, especially forarbitrary spatial data sets, is a very difficult task. For a moregeneral use, our method should be equipped, for instance, withthe method of [11].

We conclude by observing that several practical experimentssuggest the opportunity of using spline surfaces definedon triangulations. This in turn requires: the definition ofnew polynomials over triangular domains approaching inthe limit quadratic triangular elements; the definition of thecorresponding triangular Boolean schemes; an adaption of thezero-moment analysis to triangulations; and the extraction ofthe feature lines. At present, we have some promising resultson the first and third tasks (in practice we can construct a shapepreserving piecewise triangular surface approximating a set ofdata), but we have not yet developed both a method for theextraction of feature lines with arbitrary topology and variabledegree triangular Boolean-sum operators.

Acknowledgements

This work is supported by MIUR under project FIRB,contract RBAU0128CL. The authors wish to thank the refereesboth for the encouraging report and for the helpful commentsand remarks.

References

[1] Applegarth I, Kaklis PD, Wahl S. Benchmark tests on the generation offair shapes subject to constraints. B.G. Teubner Stuttgart-Leipzig 1997.

[2] Clarenz U, Rumpf M, Telea A. Robust feature detection and localclassification for surfaces based on moment analysis. IEEE Trans VisComput Graphics 2004;10(5):516–24.

[3] Costantini P. Properties and applications of new polynomial spaces. Int JWavel Mult Inform Proc 2006;4:489–507.

[4] Costantini P, Pelosi F. Shape-preserving approximation by space curves.Numer Algorithms 2001;27:219–316.

[5] Costantini P, Pelosi F. Shape preserving approximation of spatial data.Adv Comput Math 2004;20:25–51.

[6] Costantini P, Pelosi F. Shape preserving data approximation usingnew spline space. In: Dæhlen M, Mørken K, Schumaker LL, editors.Proceedings mathematical methods for curves and surfaces: Tromsø2004.Nashboro Press; 2005. p. 81–92.

[7] Costantini P, Lyche T, Manni C. On a class of weak Tchebycheff systems.Numer Math 2005;101:333–54.

[8] Costantini P, Pelosi F. Data approximation using shape preserving para-metric surfaces, Dipartimento di Scienze Matematiche ed Informatiche,Rapporto n. 481, Universita di Siena. 2006 [submitted for publication].

[9] Cravero I, Manni C. Detecting the shape of spatial data via zeromoments. In: Dæhlen M, Mørken K, Schumaker LL, editors. Proceedingsmathematical methods for curves and surfaces: Tromsø2004. NashboroPress; 2005. p. 93–102.

[10] Cravero I, Pelosi F. Shape detection for bivariate data, Dipartimento diMatematica, Quaderno n.12, Universita di Torino. 2006.

[11] Floater MS. Parametrization and smooth approximation of surfacetriangulations. Comput Aided Geom Design 1997;14:231–50.

[12] Goodman TNT. Total positivity and the shape of curves. In: Gasca M,Micchelli CA, editors. Total positivity and its applications. Dordrecht:Kluwer; 1996. p. 157–86.

[13] Hoschek J, Lasser D. Fundamentals of computer aided geometric design.Massachusetts: A.K. Peters, Ltd, Wellesley; 1993.

[14] Juttler B. Shape preserving least-squares approximation by polynomialparametric spline curves. Comput Aided Geom Design 1997;14:731–747.

[15] Pottmann H, Huang QX, Yang YL, Kolpl S. Integral Invariants for robustgeometry Processing. Technical report 146. Geometry Preprint Series,Vienna Univ. of Technology. 2005.