Geodesic Patterns PDF
Geodesic Patterns PDF
Geodesic Patterns PDF
Helmut Pottmann Qixing Huang Bailin Deng Alexander Schiftner Martin Kilian Leonidas Guibas Johannes Wallner
KAUST, TU Wien Stanford University TU Wien Evolute GmbH, TU Wien TU Wien Stanford University TU Graz, TU Wien
Figure 1: Geodesic patterns on freeform surfaces. Left: For the cladding of a surface by wooden panels bendable only about their weak axis,
we perform segmentation into parts which can be covered by geodesic strips of roughly constant width. Right: A timber construction derived
from a hexagonal geodesic web has good manufacturing and statics properties.
Abstract 1 Introduction
Geodesic curves in surfaces are not only minimizers of distance, but In recent years it has become apparent that methods from Geomet-
they are also the curves of zero geodesic (sideways) curvature. It ric Computing bear a great potential to advance the field of freeform
turns out that this property makes patterns of geodesics the basic ge- architecture. This fact has created the new research area architec-
ometric entity when dealing with the cladding of a freeform surface tural geometry, which draws from various branches of geometry
with wooden panels which do not bend sideways. Likewise a geo- and which is motivated by problems originating in architectural de-
desic is the favored shape of timber support elements in freeform sign and engineering – see for instance the proceedings volume
architecture, for reasons of manufacturing and statics. Both prob- [Pottmann et al. 2008a]. The topics studied in the present paper
lem areas are fundamental in freeform architecture, but so far only belong to this line of research. They have as a common theme the
experimental solutions have been available. This paper provides a design of a pattern of geodesics on a freeform surface.
systematic treatment and shows how to design geodesic patterns in
different ways: The evolution of geodesic curves is good for local One problem concerns the cladding of a general double curved sur-
studies and simple patterns; the level set formulation can deal with face with wooden panels. Such claddings will be mainly applied
the global layout of multiple patterns of geodesics; finally geodesic to interior spaces (see Fig. 2). Even if the material may be differ-
vector fields allow us to interactively model geodesic patterns and ent from wood, the panels are assumed to be close to developable
perform surface segmentation into panelizable parts. and their development should fit well into a rectangle whose length
is much larger than its width. Hence, each panel should follow a
geodesic curve. The cladding problem can be approached in an ex-
CR Categories: I.3.5 [Computer Graphics]: Computational Ge-
perimental way as illustrated by Fig. 2. Computationally it means
ometry and Object Modeling—Geometric algorithms, languages,
decomposing a given surface into regions, each of which can be
and systems; I.3.5 [Computer Graphics]: Computational Geometry
covered by a sequence of nearly equidistant geodesic curves (see
and Object Modeling—Curve, surface, solid, and object represen-
Fig. 1).
tations
Other applications of geodesic patterns lie in wooden construc-
Keywords: computational differential geometry, architectural ge- tions where the geodesics are used for the supporting structure of
ometry, geometry of webs, timber rib shell, cladding, freeform sur- a curved shell. Extending pioneering technologies by J. Natterer
face, pattern, geodesic, Jacobi field. [2002], ongoing research at the EPF Lausanne aims at the design
of freeform timber rib shells, which are composed of a grid of geo-
desic curves (see Fig. 3). Other innovative timber constructions, as
seen in recent projects by Shigeru Ban (Fig. 4), would also benefit
from an efficient computational approach to the layout of geodesic
patterns on surfaces. One reason why geodesic curves are a pre-
ferred shape is statics: Geodesics – being minimizers of distance
– are the equilibrium shapes of elastic curves constrained to the
surface. Another reason is the manufacturing of laminated beams,
which are much easier to make if the individual boards can simply
be twisted and bent and along the weak axis [Pirazzi and Weinand
2006].
Our approach to geodesic patterns is closely related to classical
results on the geometry of webs which was developed mainly by
W. Blaschke and his school. We refer to the survey article [Chern
1982] and the monograph [Blaschke and Bol 1938].
Figure 3: Assem- * ways to control the strip width variation in a geodesic 1-pattern
based on geometric concepts such as Jacobi fields and striction
bling screw-laminated curves (Sec. 2);
beams for a timber rib
shell prototype based * two computational approaches for designing geodesic 1-patterns,
namely an evolution algorithm guided by Jacobi fields (Sec. 3)
on a 2-pattern of geo- and a level set approach which is also used for the design of gen-
desics. Image cour- eral N -patterns (Sec. 4);
tesy IBOIS, the tim-
ber construction lab at * the design of geodesic webs (special 3-patterns and 4-patterns)
and the extraction of further patterns from such webs, for instance
EPF Lausanne. in the style of Islamic art (Sec. 5);
* a user-friendly design tool for the solution of the cladding prob-
lem which results in an aesthetically pleasing segmentation of the
Related work. Let us briefly address the literature in geometric design surface into regions covered by geodesic 1-patterns. This
computing, as far as it is obviously related to our problem formula- tool is based on the concept of piecewise-geodesic vector fields
tion. We will later encounter more connections to previous work. (Sec. 6).
A geodesic curve g is a locally shortest path on a surface S. The Each of these approaches solves different instances of the problem
computation of geodesics is a classical topic: For smooth surfaces, of covering a surface with geodesic curves.
pursuing a geodesic curve emanating from a point with a given tan-
gent vector is equivalent to solving an initial value problem for
a 2nd order ODE, while the boundary value problem (connecting 2 Distances between geodesics
two points on a surface by a geodesic path c(t)) can be converted
into the constrained minimization of the quadratic energy kċk2
R In this section, we discuss general se-
[do Carmo 1976]. For triangle meshes, shortest polylines cross quences (1-patterns) {gi } of successive
edges at equal angles, and ambiguities at vertices may be resolved geodesic lines in a surface and the distances
by the concept of “straightest geodesics” [Polthier and Schmies between them. It is not usually possible to
1998]. Finding the truly shortest geodesic paths requires the com- express by formulas such a distance – say gi+1
gi
putation of distance fields, for which several efficient algorithms between the geodesic curve gi and its neigh-
have been developed, see for instance [Chen and Han 1996] or bor gi+1 . Not even an exact definition of ww
w
w
[Kimmel and Sethian 1998]. such a distance is straightforward. Only in
some highly symmetric cases, like evenly
Early research on the cladding of freeform surfaces with devel- distributed meridian curves of a rotational surface (see the figure)
opable panels evolved from the architecture of F. Gehry [Shelden the measurement of distance is elementary. However, a first order
2002]. One contribution to the present cladding problem is pro- approximation of that distance is well known: Start at time t = 0
vided by the geodesic strip models of Pottmann et al. [2008b]. with a geodesic curve g(s), which is parametrized by arc length s,
This name is used for continuous surfaces composed of devel- and let it move smoothly with time. A snapshot at time t = ε yields
opable strips which have nearly straight development. One can a geodesic g + near g (see Fig. 5):
view them as semi-discrete versions of smooth families of geode-
sics on a smooth surface. In general, several geodesic strip models g + (s) = g(s) + εv(s) + ε2 (. . . ).
with different directions are required to cover a freeform surface
(see Fig. 2). The choice of these directions and the initialization of The derivative vector field v is called a Jacobi field. It is known
the optimization in [Pottmann et al. 2008b] has not been systemati- that without loss of generality we may assume that it is orthogonal
cally investigated so far. to the curve g(s), and it is expressed in terms of the geodesic’s
Figure 8: Evolution of geodesics, starting from a source curve (dark blue). (a) Regular equidistant evolution. Thin blue pieces of curves
show where the distance constraint is violated. (b) Aesthetic reasons might require denser strips if the normal curvature across the strip is
high. (c) Pattern transfer. The small image shows some intended width functions W (s). (d) Because of positive Gaussian curvature, in some
areas evolution is possible only if we allow intersections of adjacent geodesics. (e) Evolution of the same geodesic curve as in (d), but by
introducing breakpoints if the strip width deviates too much from a constant value. The breakpoints are guided along the red curves.
Computing the next geodesic. The function w(s) computed fact that we cannot have a proper non-intersecting next geodesic, or
above approximately describes the distance between the geodesic to consider broken geodesics, which are the topic of the following
curve g and the ‘next geodesic’ g + . We could now find g + by paragraph.
simply moving the endpoints g(0), g(L) sideways by the amounts
w(0), w(L), respectively, and connecting them by a geodesic g + .
The following method takes more information into account:
X1
X0 Y
V
g+
h0 h1
g
g(s0 ) g(s1 )
(a) (b)
i
We sample the original geodesic at parameter values si = N
L
(i = 0, . . . , N ) and move the points g(si ) sideways on geodesics Figure 9: Evolution of a 1-pattern of broken geodesics, which starts
hi orthogonal to g. This results in points Xi . The next geodesic g + with an unbroken one (blue, at extreme left). The threshold for
is represented by a point Y which slides along a curve orthogonal to the introduction of breakpoints in (a) and (b) is that the strip width
the current geodesic g and by an initial tangent deviates more than 7.5% or 5%, resp., from the desired value (this
Pvector V . These two surface is taken from the top of the Lilium tower, Warsaw, by Zaha
degrees of freedom are determined such that i dist(g + ∩hi , Xi )2
(each distance measured along hi ) becomes minimal. Being close Hadid Architects).
to the solution already, this can be done by a Levenberg-Marquardt
method which avoids second derivatives. Extension to broken geodesics Evolving a geodesic curve into
a 1-pattern frequently runs into obstacles, due to the few degrees
Limitations of the evolution method. The method above which of freedom available. We therefore relax the geodesic condition
finds a smooth geodesic at a certain nonzero distance from a given and consider broken geodesic curves. Such a curve g consists of
one works only if one can find a width function w which solves geodesic arcs gi defined in arbitrary subintervals [si , si+1 ]. These
the Jacobi equation and which has no zeros in the considered in- arcs fit together at points Pi = gi−1 (si ) = gi (si ) = g(si ). We
terval. It turns out that we can tell the existence of such ‘useful’ evolve each arc gi separately, with its own width function wi (s)
solutions simply by testing if the fundamental solution w(1) has an- which satisfies the Jacobi equation. Obviously, the single functions
other zero in the considered interval. The proposition below, proved wi are not independent. We draw the following picture:
in [do Carmo 1992], characterizes the two possible cases (good and
Pi+ = g + (si )
bad) and sums up some of their geometric properties.
g + (si+1 )
P ROPOSITION 1. Consider a geodesic curve g(s), where s ∈ [0, L] +
gi−1 α
α
αiiiiii βββiiiiii
s i)
si )
wi (
w i−
of the Jacobi equation with w(1) (0) = 0. Then there are the fol-
)
+1
) 1
(s
wi
κg = 10 1 0.1 0.01
Figure 10: 1-patterns of geodesic curves which are found as level sets of a real-valued function defined on the surface. (a) Optimization with
a low weight on Fw yields almost true geodesics. Three geodesics are shown in orange for comparison. (b) A higher weight on Fw generates
strips of even width, but lets level sets deviate from true geodesics and creates higher geodesic curvatures. (c) and (d): Deviation from the
geodesic property for subfigures (a) and (b). We show the geodesic curvature κg on a logarithmic scale; bounding box diagonal equals 4.
rection of movement of the breakpoints, reading off the angles αi , We thus optimize φ by solving a nonlinear least squares problem
βi , and subsequently minimizing the sum of all Fwi as defined by which is governed by a linear combination of three functionals:
(2) with (3) as side condition. The ‘next’ geodesics gi+ are sub- Fκ penalizes deviation from zero geodesic curvature, F∆ is for
sequently fitted to the width functions in a manner similar to the smoothing/regularization, and Fw penalizes deviation from the de-
computation of the next geodesic which is described above. With sired strip width w. Definitions are:
the path of breakpoints already prescribed, the number of degrees
of freedom for the broken geodesic g + is the number of segments
X ` ∇φ ´2
Fκ = A(v) div (v) ,
plus one. v∈V k∇φk
X
In the examples of Figures 8e and 9 breakpoints are automatically F∆ = area(S) A(v)∆φ(v)2 ,
v∈V
inserted whenever a strip would violate the distance constraint, and X “ h ”2
the paths of breakpoints are guided such that they bisect the angle Fw = area(f ) k∇φ(f )k − .
of their adjacent geodesic segments. f ∈F w
Here A(v) means the area of the Voronoi cell of v. All three func-
4 Geodesic N -patterns from level sets tionals are invariant w.r.t. scaling of the geometry. We therefore
formulate our optimization as
The Jacobi field approach is well suited if, in a 1-pattern, we want
to move from one geodesic to the next, in a way which allows us Fκ + λF∆ + µFw → min . (6)
to control the distance between these two geodesics. For global
tasks such as an optimal alignment of a 1-pattern of geodesics with We initialize optimization by a function which minimizes F∆ alone,
a vector field, or design problems involving several 1-patterns, we under the side condition of 3 arbitrary function values. Results of
prefer to represent the geodesics of a 1-pattern as selected level sets this method can be seen in Fig. 10. As is to be expected we cannot
of a real valued function φ which is defined on the given surface S. make make Fκ and Fw vanish at the same time: Only for devel-
opable surfaces (K = 0) the geodesic property is compatible with
Geodesic level sets are not new, in fact they represent the main idea constant width between curves.
in the geodesic active contour method of Caselles et al. [1997]. The
difference to our setting is that we consider global patterns of geo- For an N -pattern of geodesics, each of the N families of curves in-
desics. For level set methods in general we refer to [Osher and volved is represented as level sets of a function φi (i = 1, . . . , N ).
Fedkiw 2002]. We now minimize the sum of the single target functions analogous
to (6). We can also incorporate additional requirements, for in-
Geodesic curves are characterized by vanishing geodesic curvature stance constant intersection angle α between families i and j. To
κg [do Carmo 1976]. If a curve is given in implicit form as a level this end we augment the target functional by
set φ = const., then its geodesic curvature can be computed by
“ ∇φ ” X area(f ) D ∇φi ` ∇φj ´E2
κg = div , (4) ν · Fangle = ν , R π2 −α .
k∇φk area(S) k∇φi k k∇φj k
f ∈F
where div, ∇ are understood in the intrinsic geometry of S (see e.g. Here R π2 −α means a rotation by the angle π2 − α in the respective
[do Carmo 1992], p. 142).
face; ν is the weight given to Fangle . For an example see Fig. 16.
We implement construction of a function φ as follows. The surface
The level set approach is an integral part of the examples and im-
S is represented by a triangle mesh (V, E, F ). The function φ is
ages in Sections 5 and 6.
determined by its values on vertices and is considered to be linear
within each triangular face. The level sets under consideration are Remark 1. Our level set approach works only for simply connected
polylines on the mesh. The vector field ∇φ is constant in each face. surfaces. It is possible to extend it to arbitrary surfaces by using
For any vector field X we evaluate div(X) at a vertex v by com- branched coverings, such as in [Kälberer et al. 2007].
puting the flux of X through the boundary of v’s intrinsic Voronoi
cell, divided by the area of that cell. Implementation details. To compute the function φ which min-
For regularization, we wish to keep ∆φ = div(∇φ) small. Further, imizes the combined functional (6), we employ a classical Gauss-
applications might require the distance between level sets φ = c Newton method with line search for optimization [Madsen et al.
and φ = c + h to equal some value w; for that distance we have 2004]. The variables of this optimization are the values of the un-
‹ known function φ on the vertices of a mesh. All required first order
w ≈ h k∇φk. (5) derivatives are calculated analytically (i.e., are not approximated).
(a) (b) (c) (d) (e)
Figure 11: A hexagonal web of geodesics imposed on the surface of Fig. 6. The level sets of functions φ1 , φ2 , φ3 are geodesics, if they obey
div(∇φi /k∇φi k) = 0. If they also obey φ1 + φ2 + φ3 = 0, they form a hexagonal web. (a) Integer level sets √ for each of φ1 , φ2 , φ3 and true
geodesics for comparison. (b) Flattening of the surface by the mapping ψ(x) = (φ1 (x), (φ1 (x) + 2φ2 (x))/ 3). (c)–(d): Using ψ as texture
mapping, patterns with hexagonal combinatorics can be transferred to the surface. (e) Detail of a geometric pattern inspired by Islamic art.
Long and thin components follow geodesic curves on the surface and can therefore be manufactured by bending of wooden panels.
The linear systems to be solved in each round of iteration are sparse, and φ2 to lines x = const. and y = const., resp., while the level
since the single terms which contribute to (6) involve only local dif- sets of φ3 are mapped to the lines x + y = const. Equation (7) is
ferential operators which are defined in terms of small vertex neigh- known in the theory of webs; in fact every hexagonal web can be
borhoods. For sparse Cholesky factorization we employ C HOLMOD found in this way.
[Chen et al. 2008].
We implement geodesic webs as follows: We consider two func-
tions φ1 , φ2 on the given surface S, and optimize them such that
5 Geodesic webs the sum of target functionals according to (6), evaluated for φ1 , φ2 ,
and φ3 := −φ1 − φ2 becomes minimal. For results, see Figure 1
Timber constructions like the one of Figure 4 follow a curve pattern (right) and Figure 11. A different kind of web is shown by Fig. 19.
with regular combinatorics. For manufacturing and statics reasons,
one would like these guiding curves to be geodesics. Questions
of this kind immediately lead us to the investigation of systems
of curves on surfaces with both geometric and topological proper-
ties. The most important concept here is the hexagonal web, which
means 3 families of curves which can be continuously mapped to 3
families of parallel straight lines in the plane, as shown by Fig 11b.
By selecting a discrete sample of curves from the web we can gener-
ate a variety of patterns – see Figures 1 (right), 4, and 11. The con- (a) (b)
dition that families of curves form a hexagonal web is of a topolog-
ical nature and belongs to the so-called geometry of webs [Blaschke
Figure 12: Hexagonal webs and class 3 curves. (a) The condi-
and Bol 1938; Chern 1982]. Neglecting some details concerning
P that a straighti line
tion u0 + u1 X + u2 Y = 0 is in the web reads
the domain where a web is defined, we quote a result: j k
i+j+k=3 aijk u0 u1 u2 = 0. This equation characterizes the tan-
i,j,k≥0
T HEOREM 2. A complete hexagonal web of straight lines in the
gents of a class 3 curve, and is determined, up to a factor, by 9
plane consists of the tangents of an algebraic curve of class 3 (pos-
given lines in general position. The colors given to the tangents
sibly reducible); any class 3 curve yields a hexagonal web [Graf
identify the 3 families of a hexagonal web. (b) A geodesic web on
and Sauer 1924]. The variety of geodesic hexagonal webs in a sur-
the sphere. It is transformed to a planar one by projection from the
face is the same as in the plane ⇐⇒ the surface has constant
center.
Gaussian curvature [Mayrhofer 1931].
Figure 13: Processing pipeline for the global cladding problem. (a) The first two elements of the reduced basis which spans the vector field
design space. (b) User’s selection vf∗1 , vf∗2 , . . . indicated by arrows, and blue design vector field v◦ adapted to this selection. (c) Sharpened
vector field v which is now piecewise geodesic together with the boundaries of macro patches which lie where the vector field is sharp. (d)
Segmentation into finitely many geodesic 1-patterns which are aligned with the user’s selection. This surface is taken from the interior facade
of the Heydar Aliev Merkezi Project by Zaha Hadid Architects.
piecewise geodesic. Finally, we perform segmentation of the input In summary, the vector field v = (vf )f ∈F is a geodesic vec-
surface along the curves where the resulting vector field is sharp. tor field, if its length kvf k is constant for all faces f , and we
To find the actual geodesic curves defined by the vector field, we can find a collection of coefficients g = (gf )f ∈F with gf =
refer back to the level set method of Section 4. (g1,f , g2,f , g3,f ), such that (8) holds with the r’s below some
threshold.
Geodesic vector fields. A vector field v on a surface S is geode-
sic if it consists of tangent vectors of a 1-parameter family of geode- The following functional attempts to quantify how well v satisfies
sic curves covering S. Later we also encounter piecewise-geodesic the geodesic property. It will turn out to be very useful for the next
fields which fulfill the geodesic property in the inside of certain task (interactive editing of geodesic vector fields). We let
patches. The following characterization of the geodesic property
“X ”
Q(v) = min we kre (v, g)k2 + λr kgk2 . (9)
employs the notation ∇x (v), which means the covariant derivative g∈R3|F |
e∈E
of a vector field v in direction of the tangent vector x, and which
is defined as the tangential component of the ordinary directional The term including λr is for regularization; we choose the factor
derivative [do Carmo 1976]. λr proportional to a characteristic edge length in the mesh. The
P ROPOSITION 3. A vector field v of constant length is geodesic edge weights we ≥ 0 are for downweighting areas where we do
⇐⇒ for all points of the surface, the linear mapping x 7→ ∇x (v) not care about the geodesic property and where we (later) want to
in the tangent plane is symmetric. encourage formation of a patch boundary. We chose to downweight
areas of high curvature; so we let we = exp(−κ2e /2µ2 ), where κe
Proof: kvk = const. implies that ∇x (v) is orthogonal to v, for is the normal curvature across the edge e, and µ is computed as a
all x. The geodesic condition is ∇v (v) = 0 everywhere. Among median of all absolute values |κe |. We say that these weights are
the linear mappings which map the entire tangent plane to v⊥ , the median-weights w.r.t. the mapping e 7→ |κe |.
symmetric ones are exactly those which map v to zero. Since the re ’s which contribute to the value Q(v) depend only on
v, we can also write re (v). The following turns out to be important:
Implementing geodesic vector fields. In our implementation,
the surface S is represented as a triangle mesh (V, E, F ). The vec- P ROPOSITION 4. There is a positive semidefinite symmetric matrix
tor field is represented by unit vectors vf attached to the incenters H, which depends on the given mesh, such that Q(v) = vT Hv.
mf of faces f ∈ F . Consider two adjacent faces f1 , f2 , such that
the face f2 has been unfolded into the plane of f1 (in the following Proof: The bracket expression in (9) has the general form gTAg +
text, the unfolded positions of items associated with f2 are marked 2gTBv + vTCv with symmetric A, B, C =⇒ its minimum is
with a hat). In order to capture the condition of Prop. 3, we endow attained for g = −A−1 Bv, so Q(v) = vT(C − BA−1 B)v. Pos-
each face with a local coordinate system and a Jacobi matrix Jf itivity is obvious from Q(v) ≥ 0.
such that
Interactive vector field selection. We show how the user can in-
vf1 bf2 = vf1 + Jf1 · (m
v b f2 − mf1 ) + re ,
teractively design a piecewise geodesic vector field, by prescribing
“g
1,f g2,f
” the values
mf1 m where Jf = . (8) vf∗1 , . . . , vf∗k (10)
b f2 g2,f g3,f
e
of that field in user-selected faces f1 , . . . , fk . This procedure,
which is described in the following paragraphs and which is mo-
Here re is a remainder term associated with the edge e = f1 ∩ f2 . tivated by [Huang et al. 2009], first amounts to choosing a vector
field v◦ which is not exactly geodesic but has a reasonably small
This manner of discretizing the symmetry of the covariant deriva-
value of Q(v◦ ). In a subsequent step v◦ is sharpened so as to be-
tive – as postulated by Prop. 3 – comes from two facts: (i) covariant
come a piecewise geodesic vector field v.
differentiation is invariant if an isometric deformation is applied, so
we may unfold the neighboring triangles into the plane of the trian- In order to achieve interactive editing rates, we precompute a re-
gle under consideration; (ii) in a plane, ∇x (v) equals the ordinary duced basis v(1) , . . . , v(n) of vector fields and and try to realize
directional derivative of v w.r.t. the vector x, i.e., it equals multi- the user’s selection by a linear combination
plication of a Jacobi matrix with x. The condition of Prop. 3 now
means symmetry of the Jacobi matrix. v◦ = x1 v(1) + · · · + xn v(n) .
of these eigenvectors alone. Our choice is to take the first n eigen- The face weights wf offer the possibility to keep v close to v◦
vectors of the quadratic form Q (i.e., eigenvectors of the matrix where v◦ already is a geodesic vector field – indicated by smallness
◦
H as defined in Prop. 4). In order to determine x1 , . . . , xn and P re (v ). We◦ employ median-weighting w.r.t. the mapping f 7→
of
to reinforce the condition kvf◦ k = 1 which is not satisfied by the e∈∂f kre (v )k.
eigenvectors, we employ two steps in an alternating way: (i) we let
v̄f◦ = vf◦ /kvf◦ k, and (ii) we determine x1 , . . . , xn such that Surface segmentation and pattern layout. Having found a
piecewise geodesic vector field v, we now define patches by cut-
k
X X ting along the edges where v is sharp. We first collect all edges
Fprox = kvf◦i −vf∗i k2 +λr kv◦ k2 +λn kvf◦ −v̄f◦ k2 → min . e = f1 ∩ f2 where the angle between vf1 and vf2 is greater than a
i=1 f ∈F
threshold value α; such edges indicate patch boundary curves (we
The weights λn , λr govern the influence of normalization and use α = 20◦ ). We then use the method of Pauly et al. [2003] to
regularization terms. The choice of these values is not critical; polish these curves. We omit details since we do not consider seg-
we used λn = 0.1 and λr = 0.01. We initialize this itera- mentation a new result. Segmentation being completed, we end
tion by letting λn = 0 in the first round. Each round amounts up with patches P1 , . . . , PM which we know can be covered by a
to solving a linear system and a matrix-vector multiplication, and smooth geodesic vector field. The layout of evenly spaced geode-
takes O(n3 ) + O(n · |F |) time. For instance, with n = 60 and sics within each Pj is done according to Section 4, augmenting the
|F | = 40 000 we experienced 10 ms per round on a 2 GHz PC. target functional (6) by
Further, we found 3–5 rounds to be sufficient. Thus, vector field X X
h∇φ(f ), vf∗i i2 + λsharp
(j)
selection can be performed in real time. Falign = λuser h∇φ(f ), vf i2 .
i:fi ∈Pj f ∈Pj
Remark 2. The number n determines the degrees of freedom of-
(j)
fered to the user; we found n ≈ 50 to work well. Guidance is given Minimizing Falign means that the geodesics occurring as level sets
by the magnitude of the first n eigenvalues which should be small, of φ are aligned with the sharpened vector field v and/or with the
and by the complexity of the object under consideration. Choos- user’s selection {vf∗i }. The corresponding weights λsharp and λuser
ing the first eigenvectors of Q to span our design space amounts to have to be set accordingly. Results are shown in Figs. 1, 13, and 15.
choosing a design space where Q(v◦ ) has small values under the
‘wrong’ and geometrically meaningless normalization constraint
kv◦ k2 = 1. As all vector fields undergo further treatment any- Figure 15: Instead of properly
way, this wrong normalization does not matter. Our purpose was to segmenting a surface into parts
find a design space which contains enough degrees of freedom, and which can be covered by smooth
which is taken from the low frequency end of the spectrum (thus geodesic 1-patterns, we may look
avoiding unreasonably small patch sizes). for a weaker solution: cutting it
open along curves such that it can
be covered by 1-patterns which
are smooth everywhere except at
Figure 14: Sharpening a vector field the cuts. The present example is
(left) such that it becomes piecewise almost a true segmentation with
geodesic (right). This is a detail of only 1 dangling edge.
Fig. 13.
General remarks. There are several reasons why the interactive
Vector field sharpening. Segmentation of the given surface S procedure of Section 6 is not only nice to have in applications, but
into patches is based on piecewise geodesic vector fields, which is actually necessary: First, the highly nonlinear minimization of
fulfill the geodesic property in the inside of certain patches (i.e., re the function F (v, g) in Equation (11) will typically get stuck in
is small there), but we allow high values of kre k along the patch local minima, so we cannot expect that unguided minimization of
boundaries. We assume that a vector field v◦ is given, and we wish F (v, g) succeeds. Second, there is a great variety of local minima
to find another vector field v which is close to v◦ , but is piecewise which cannot clearly be distinguished by the magnitude of F (v, g)
geodesic. We set up an optimization problem as follows: alone. For this reason it is necessary to let the user choose.