Content uploaded by Helmut Pottmann

Author content

All content in this area was uploaded by Helmut Pottmann on Jan 09, 2014

Content may be subject to copyright.

Geodesic Patterns

Helmut Pottmann

KAUST, TU Wien

Qixing Huang

Stanford University

Bailin Deng

TU Wien

Alexander Schiftner

Evolute GmbH, TU Wien

Martin Kilian

TU Wien

Leonidas Guibas

Stanford University

Johannes Wallner

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

Geodesic curves in surfaces are not only minimizers of distance, but

they are also the curves of zero geodesic (sideways) curvature. It

turns out that this property makes patterns of geodesics the basic ge-

ometric entity when dealing with the cladding of a freeform surface

with wooden panels which do not bend sideways. Likewise a geo-

desic is the favored shape of timber support elements in freeform

architecture, for reasons of manufacturing and statics. Both prob-

lem areas are fundamental in freeform architecture, but so far only

experimental solutions have been available. This paper provides a

systematic treatment and shows how to design geodesic patterns in

different ways: The evolution of geodesic curves is good for local

studies and simple patterns; the level set formulation can deal with

the global layout of multiple patterns of geodesics; ﬁnally geodesic

vector ﬁelds allow us to interactively model geodesic patterns and

perform surface segmentation into panelizable parts.

CR Categories: I.3.5 [Computer Graphics]: Computational Ge-

ometry and Object Modeling—Geometric algorithms, languages,

and systems; I.3.5 [Computer Graphics]: Computational Geometry

and Object Modeling—Curve, surface, solid, and object represen-

tations

Keywords: computational differential geometry, architectural ge-

ometry, geometry of webs, timber rib shell, cladding, freeform sur-

face, pattern, geodesic, Jacobi ﬁeld.

1 Introduction

In recent years it has become apparent that methods from Geomet-

ric Computing bear a great potential to advance the ﬁeld of freeform

architecture. This fact has created the new research area architec-

tural geometry, which draws from various branches of geometry

and which is motivated by problems originating in architectural de-

sign and engineering – see for instance the proceedings volume

[Pottmann et al. 2008a]. The topics studied in the present paper

belong to this line of research. They have as a common theme the

design of a pattern of geodesics on a freeform surface.

One problem concerns the cladding of a general double curved sur-

face with wooden panels. Such claddings will be mainly applied

to interior spaces (see Fig. 2). Even if the material may be differ-

ent from wood, the panels are assumed to be close to developable

and their development should ﬁt 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-

perimental way as illustrated by Fig. 2. Computationally it means

decomposing a given surface into regions, each of which can be

covered by a sequence of nearly equidistant geodesic curves (see

Fig. 1).

Other applications of geodesic patterns lie in wooden construc-

tions where the geodesics are used for the supporting structure of

a curved shell. Extending pioneering technologies by J. Natterer

[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 beneﬁt

from an efﬁcient 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].

Figure 2: Experimental cladding using paper strips (left) results in

an ofﬁce space design by NOX Architects [Spuybroek 2004].

Figure 3: Assem-

bling screw-laminated

beams for a timber rib

shell prototype based

on a 2-pattern of geo-

desics. Image cour-

tesy IBOIS, the tim-

ber construction lab at

EPF Lausanne.

Related work. Let us brieﬂy address the literature in geometric

computing, as far as it is obviously related to our problem formula-

tion. We will later encounter more connections to previous work.

A geodesic curve gis a locally shortest path on a surface S. The

computation of geodesics is a classical topic: For smooth surfaces,

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

two points on a surface by a geodesic path c(t)) can be converted

into the constrained minimization of the quadratic energy Rk˙

ck2

[do Carmo 1976]. For triangle meshes, shortest polylines cross

edges at equal angles, and ambiguities at vertices may be resolved

by the concept of “straightest geodesics” [Polthier and Schmies

1998]. Finding the truly shortest geodesic paths requires the com-

putation of distance ﬁelds, for which several efﬁcient algorithms

have been developed, see for instance [Chen and Han 1996] or

[Kimmel and Sethian 1998].

Early research on the cladding of freeform surfaces with devel-

opable panels evolved from the architecture of F. Gehry [Shelden

2002]. One contribution to the present cladding problem is pro-

vided by the geodesic strip models of Pottmann et al. [2008b].

This name is used for continuous surfaces composed of devel-

opable strips which have nearly straight development. One can

view them as semi-discrete versions of smooth families of geode-

sics on a smooth surface. In general, several geodesic strip models

with different directions are required to cover a freeform surface

(see Fig. 2). The choice of these directions and the initialization of

the optimization in [Pottmann et al. 2008b] has not been systemati-

cally investigated so far.

Figure 4: Timber construction for

the Yeoju Golf Club by Shigeru

Ban; CAD/CAM by designtoproduc-

tion. The beams are no geodesics and

manufacturing thus requires CNC ma-

chining. We address the design of 3-

patterns of geodesics and so contribute

to their simpliﬁed manufacturing.

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].

Contributions and overview. Inspired by practical problems in

architecture, we study geodesic N-patterns on surfaces. These are

formed by Ndiscrete families of geodesics which are subject to

additional constraints arising from the speciﬁc application. We put

particular emphasis on the cases N= 1 (Fig. 2), N= 2 (Fig. 3)

and N= 3 (Fig. 4). The overall goal is to provide an efﬁcient

computational framework to support the user’s navigation through

design space. Our results include:

*ways to control the strip width variation in a geodesic 1-pattern

based on geometric concepts such as Jacobi ﬁelds and striction

curves (Sec. 2);

*two computational approaches for designing geodesic 1-patterns,

namely an evolution algorithm guided by Jacobi ﬁelds (Sec. 3)

and a level set approach which is also used for the design of gen-

eral N-patterns (Sec. 4);

*the design of geodesic webs (special 3-patterns and 4-patterns)

and the extraction of further patterns from such webs, for instance

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

design surface into regions covered by geodesic 1-patterns. This

tool is based on the concept of piecewise-geodesic vector ﬁelds

(Sec. 6).

Each of these approaches solves different instances of the problem

of covering a surface with geodesic curves.

2 Distances between geodesics

gi+1

gi

ww

w

w

w

w

w

w

w

w

w

w

w

w

w

w

w

In this section, we discuss general se-

quences (1-patterns){gi}of successive

geodesic lines in a surface and the distances

between them. It is not usually possible to

express by formulas such a distance – say

between the geodesic curve giand its neigh-

bor gi+1. Not even an exact deﬁnition of

such a distance is straightforward. Only in

some highly symmetric cases, like evenly

distributed meridian curves of a rotational surface (see the ﬁgure)

the measurement of distance is elementary. However, a ﬁrst order

approximation of that distance is well known: Start at time t= 0

with a geodesic curve g(s), which is parametrized by arc length s,

and let it move smoothly with time. A snapshot at time t=εyields

a geodesic g+near g(see Fig. 5):

g+(s) = g(s) + εv(s) + ε2(...).

The derivative vector ﬁeld vis called a Jacobi ﬁeld. It is known

that without loss of generality we may assume that it is orthogonal

to the curve g(s), and it is expressed in terms of the geodesic’s

g+(s)g+(s)

g+(s)

g+(s)

g+(s)

g+(s)

g+(s)

g+(s)

g+(s)

g+(s)

g+(s)

g+(s)

g+(s)

g+(s)

g+(s)

g+(s)

g+(s)

g(s)

g0(s)

v(s)

g(0)

Figure 5: A geodesic g(s)with

Jacobi ﬁeld v(s), and a neigh-

boring geodesic g+(s)which is

at distance ≈εkv(s)k. The pa-

rameter sis the arc length along

the geodesic g, and vobeys the

Jacobi differential equation (1).

Here v(0) = 0.

tangent vector g0as

v(s) = w(s)·Rπ/2(g0(s)),where w00 +Kw = 0.(1)

Here Rαis the rotation by the angle αin the tangent plane of the

surface, and Kis the Gaussian curvature [do Carmo 1976].

Since distances between inﬁnitesimally close geodesics are gov-

erned by (1), that equation also approximately governs the width of

a strip bounded by two geodesic curves of small ﬁnite distance.

Note that the Jacobi equation can also be used to fabricate sur-

faces of given Gaussian curvature, by gluing together strips of paper

whose width obeys the Jacobi differential equation (see Fig. 6).

w(s) = αcosh(sp|K|)

Figure 6: Do it yourself K-sur-

face. We glue together strips

whose width w(s)fulﬁlls the

Jacobi equation for some con-

stant value K < 0. This results

in a surface of approximately

constant Gaussian curvature.

A ﬁrst design method for geodesic 1-patterns. For the design

of a geodesic 1-pattern {gi}it is important to control the positions

of points at which the distance of the curve gi+1 from the curve gi

assumes a minimum or maximum. It turns out that it is not difﬁcult

to design 1-patterns of geodesics where the locus of these points is

prescribed. The Jacobi relation (1) is the key to understanding the

local behavior of the strip width.

Assuming w > 0, we have w00 <0whenever the Gaussian curva-

ture is positive. Therefore in an area where K > 0, the strip width

can have only maxima. If the Gaussian curvature is negative, then

the strip width can have only local minima. The case of constant

strip width is only possible if K= 0, which means developable

surfaces.

Setting aside the special case of developable surfaces, we get a pic-

ture of the locus of extremal strip width by ﬁrst looking at the case

of a smooth family {gt}of curves on a surface. The striction curve

sis the locus of extremal width of the inﬁnitesimal strips deﬁned

by two neighboring curves of the family (generically sis curve-like,

but it may also degenerate). H. R. M ¨

uller [1941] showed the follow-

ing: If the curves gtare geodesics, their initial tangent vectors are

geodesically parallel along s. Conversely, if we compute a geodesi-

cally parallel vector ﬁeld v(t)along a curve s(t)and then trace the

s

ss

s

s

s

s

s

s

s

s

s

s

s

s

s

s

s

Figure 7: The striction curve sof a geodesic 1-pattern. If the initial

tangent vectors of geodesics constitute a geodesically parallel vec-

tor ﬁeld along s, then extremal distances between successive curves

occur near s.Left: the piecewise-developable surface of Fig. 6.

Right: The areas of extremal distance of a geodesic curve from its

neighbors are indicated by white color. This surface is taken from

the Cagliari museum project by Zaha Hadid architects.

geodesics with start at points s(t)with initial tangent vector v(t),

then sis (part of) the striction curve of this family of geodesics.

Knowing this, the design of geodesic patterns with prescribed stric-

tion curve s(t)is simple: Once the striction curve sis chosen, there

is only one remaining degree of freedom in the choice of the par-

allel vector ﬁeld. From this 1-parameter family of patterns we can

take the one which best ﬁts the design intent (see Fig. 7).

3 Geodesic 1-patterns by evolution

This section presents a strategy for the design and computation

of geodesic 1-patterns on triangle meshes which represent general

freeform surfaces. It is based on an evolution of curves, where the

transfer from a current geodesic curve gto the next one (denoted by

g+) considers only the local neighborhood of gand can thus nicely

be governed by Jacobi vector ﬁelds.

Solution of the Jacobi differential equation. The computation

of all possible Jacobi vector ﬁelds v(s)orthogonal to a geode-

sic curve which is given by an arc length parametrization g(s)

(0≤s≤L) is easy. We only have to compute the function w(s)

which gives the length of the Jacobi ﬁeld, and which satisﬁes the

differential equation w00 +Kw = 0. This is a linear ODE with

coefﬁcient function K=K(g(s)). Any solution w(s)is a linear

combination

w(s) = λ1w(1)(s) + λ2w(2) (s)

of two linearly independent fundamental solutions w(1) and w(2).

We have implemented the solution of the Jacobi differential equa-

tion as follows: The geodesic under consideration is represented as

a polyline p0, p1,...,pMwith edge lengths Li=kpi+1 −pik.

The unknown function wis given by its values wi=w(pi)in the

vertices pi. Now the second derivative w00 is approximated by

w00

i≈2

Li−1+Li“1

Li

(wi+1 −wi)−1

Li−1

(wi−wi−1)”.

In this way the Jacobi equation turns into a sparse linear system,

involving M−1equations for w00

1,...,w00

M−1in M+1 unknowns

w0,...,wM. If we prescribe the pair (w0, w1)of values, the sys-

tem reduces to a triangular one. For the computation of the funda-

mental solutions w(1) and w(2) we simply choose these pairs to be

(0,1) and (1,0), respectively.

Selecting a Jacobi ﬁeld. The selection of the Jacobi ﬁeld which

is to guide the next geodesic g+depends on the design intent. If we

are interested in constant strip width w≈W=const., we compute

λ1, λ2by minimizing

Fw=∫[0,L](λ1w(1)(s) + λ2w(2) (s)−W)2ds, (2)

which amounts to a linear 2×2system. Since we have only two

degrees of freedom, we cannot expect λ1w(1)(s) + λ2w(2) (s)≈

const. in all cases. It is therefore advisable to check afterwards if

we really have w(s)∈[W−ε1, W +ε2], for certain pre-assigned

tolerances ε1, ε2. See Figures 8a,d for an example.

Replacing the constant Wby a prescribed function W(s)is compu-

tationally the same, but opens up many possibilities: The decompo-

sition of a freeform surface into strips might require a denser sam-

pling if the curvature across the strips is high. We therefore guide

strip width by minimizing Fwwith W(s) = φ(κn(s)), where φ

is a strictly decreasing function and κnis the surface’s normal cur-

vature in the direction orthogonal to the given geodesic. For an

example, see Fig. 8b. Prescribed patterns of geodesic curves can be

achieved by appropriate choices of W(s)(see Fig. 8c).

(a) (b) (c) (d) (e)

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

above approximately describes the distance between the geodesic

curve gand the ‘next geodesic’ g+. We could now ﬁnd g+by

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:

h0h1

X0X1

g(s0)g(s1)

g+

g

YV

We sample the original geodesic at parameter values si=i

NL

(i= 0,...,N) and move the points g(si)sideways on geodesics

hiorthogonal to g. This results in points Xi. The next geodesic g+

is represented by a point Ywhich slides along a curve orthogonal to

the current geodesic gand by an initial tangent vector V. These two

degrees of freedom are determined such that Pidist(g+∩hi, Xi)2

(each distance measured along hi) becomes minimal. Being close

to the solution already, this can be done by a Levenberg-Marquardt

method which avoids second derivatives.

Limitations of the evolution method. The method above which

ﬁnds a smooth geodesic at a certain nonzero distance from a given

one works only if one can ﬁnd a width function wwhich solves

the Jacobi equation and which has no zeros in the considered in-

terval. It turns out that we can tell the existence of such ‘useful’

solutions simply by testing if the fundamental solution w(1) has an-

other zero in the considered interval. The proposition below, proved

in [do Carmo 1992], characterizes the two possible cases (good and

bad) and sums up some of their geometric properties.

PROP OS IT IO N 1. Consider a geodesic curve g(s), where s∈[0, L]

is an arc length parameter. Assume a fundamental solution w(1) (s)

of the Jacobi equation with w(1)(0) = 0. Then there are the fol-

lowing two cases:

case 1 case 2

# zeros of w(1)(s)for 0< s ≤L:0≥1

# zeros of any solution in the interval [0, L]:≤1≥1

existence of solution nonzero in [0, L]yes no

glocally minimizes distance of g(0),g(L)yes no

The inequality K(s)>(π/L)2for s∈[0, L]implies case 2. Anal-

ogously K(s)<(π/L)2implies case 1 (surely true if K≤0).

If the geodesic curve under consideration is a case 2 curve we have

two choices (illustrated by Figures 8d,e): Either to put up with the

fact that we cannot have a proper non-intersecting next geodesic, or

to consider broken geodesics, which are the topic of the following

paragraph.

(a) (b)

Figure 9: Evolution of a 1-pattern of broken geodesics, which starts

with an unbroken one (blue, at extreme left). The threshold for

the introduction of breakpoints in (a) and (b) is that the strip width

deviates more than 7.5% or 5%, resp., from the desired value (this

surface is taken from the top of the Lilium tower, Warsaw, by Zaha

Hadid Architects).

Extension to broken geodesics Evolving a geodesic curve into

a 1-pattern frequently runs into obstacles, due to the few degrees

of freedom available. We therefore relax the geodesic condition

and consider broken geodesic curves. Such a curve gconsists of

geodesic arcs gideﬁned in arbitrary subintervals [si, si+1]. These

arcs ﬁt together at points Pi=gi−1(si) = gi(si) = g(si). We

evolve each arc giseparately, with its own width function wi(s)

which satisﬁes the Jacobi equation. Obviously, the single functions

wiare not independent. We draw the following picture:

wi−1(si−1)

wi−1(si)

P+

i=g+(si)

Pi=g(si)

αi

αi

αi

αi

αi

αi

αi

αi

αi

αi

αi

αi

αi

αi

αi

αi

αiβi

βi

βi

βi

βi

βi

βi

βi

βi

βi

βi

βi

βi

βi

βi

βi

βi

wi(si+1)

wi(si)

g(si+1)

g+(si+1)

gi−1

g+

i−1

With the angles αi, βibetween curve normals and the line connect-

ing breakpoints, we read off the approximate relation

wi−1(si)

cos αi

=wi(si)

cos βi

,(3)

which assumes that the derivatives of wi−1,wiare small. We can

now ﬁnd the single width functions wiby ﬁrst choosing the di-

(a) (b) (c) (d)

κ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 deﬁned on the surface. (a) Optimization with

a low weight on Fwyields almost true geodesics. Three geodesics are shown in orange for comparison. (b) A higher weight on Fwgenerates

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 subﬁgures (a) and (b). We show the geodesic curvature κgon a logarithmic scale; bounding box diagonal equals 4.

rection of movement of the breakpoints, reading off the angles αi,

βi, and subsequently minimizing the sum of all Fwias deﬁned by

(2) with (3) as side condition. The ‘next’ geodesics g+

iare sub-

sequently ﬁtted to the width functions in a manner similar to the

computation of the next geodesic which is described above. With

the path of breakpoints already prescribed, the number of degrees

of freedom for the broken geodesic g+is the number of segments

plus one.

In the examples of Figures 8e and 9 breakpoints are automatically

inserted whenever a strip would violate the distance constraint, and

the paths of breakpoints are guided such that they bisect the angle

of their adjacent geodesic segments.

4 Geodesic N-patterns from level sets

The Jacobi ﬁeld 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

to control the distance between these two geodesics. For global

tasks such as an optimal alignment of a 1-pattern of geodesics with

a vector ﬁeld, or design problems involving several 1-patterns, we

prefer to represent the geodesics of a 1-pattern as selected level sets

of a real valued function φwhich is deﬁned on the given surface S.

Geodesic level sets are not new, in fact they represent the main idea

in the geodesic active contour method of Caselles et al. [1997]. The

difference to our setting is that we consider global patterns of geo-

desics. For level set methods in general we refer to [Osher and

Fedkiw 2002].

Geodesic curves are characterized by vanishing geodesic curvature

κg[do Carmo 1976]. If a curve is given in implicit form as a level

set φ=const., then its geodesic curvature can be computed by

κg=div “∇φ

k∇φk”,(4)

where div,∇are understood in the intrinsic geometry of S(see e.g.

[do Carmo 1992], p. 142).

We implement construction of a function φas follows. The surface

Sis represented by a triangle mesh (V, E , F ). The function φis

determined by its values on vertices and is considered to be linear

within each triangular face. The level sets under consideration are

polylines on the mesh. The vector ﬁeld ∇φis constant in each face.

For any vector ﬁeld Xwe evaluate div(X)at a vertex vby com-

puting the ﬂux of Xthrough the boundary of v’s intrinsic Voronoi

cell, divided by the area of that cell.

For regularization, we wish to keep ∆φ=div(∇φ)small. Further,

applications might require the distance between level sets φ=c

and φ=c+hto equal some value w; for that distance we have

w≈h‹k∇φk.(5)

We thus optimize φby solving a nonlinear least squares problem

which is governed by a linear combination of three functionals:

Fκpenalizes deviation from zero geodesic curvature, F∆is for

smoothing/regularization, and Fwpenalizes deviation from the de-

sired strip width w. Deﬁnitions are:

Fκ=Xv∈VA(v)`div ∇φ

k∇φk(v)´2

,

F∆=area(S)Xv∈VA(v)∆φ(v)2,

Fw=Xf∈Farea(f)“k∇φ(f)k − h

w”2.

Here A(v)means the area of the Voronoi cell of v. All three func-

tionals are invariant w.r.t. scaling of the geometry. We therefore

formulate our optimization as

Fκ+λF∆+µFw→min .(6)

We initialize optimization by a function which minimizes F∆alone,

under the side condition of 3 arbitrary function values. Results of

this method can be seen in Fig. 10. As is to be expected we cannot

make make Fκand Fwvanish at the same time: Only for devel-

opable surfaces (K= 0) the geodesic property is compatible with

constant width between curves.

For an N-pattern of geodesics, each of the Nfamilies of curves in-

volved is represented as level sets of a function φi(i= 1,...,N).

We now minimize the sum of the single target functions analogous

to (6). We can also incorporate additional requirements, for in-

stance constant intersection angle αbetween families iand j. To

this end we augment the target functional by

ν·Fangle =νX

f∈F

area(f)

area(S)D∇φi

k∇φik, R π

2−α`∇φj

k∇φjk´E2.

Here Rπ

2−αmeans a rotation by the angle π

2−αin the respective

face; νis the weight given to Fangle. For an example see Fig. 16.

The level set approach is an integral part of the examples and im-

ages in Sections 5 and 6.

Remark 1. Our level set approach works only for simply connected

surfaces. It is possible to extend it to arbitrary surfaces by using

branched coverings, such as in [K¨

alberer et al. 2007].

Implementation details. To compute the function φwhich min-

imizes the combined functional (6), we employ a classical Gauss-

Newton method with line search for optimization [Madsen et al.

2004]. The variables of this optimization are the values of the un-

known function φon the vertices of a mesh. All required ﬁrst order

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, φ3are geodesics, if they obey

div(∇φi/k∇φik) = 0. If they also obey φ1+φ2+φ3= 0, they form a hexagonal web. (a) Integer level sets for each of φ1, φ2, φ3and 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,

since the single terms which contribute to (6) involve only local dif-

ferential operators which are deﬁned in terms of small vertex neigh-

borhoods. For sparse Cholesky factorization we employ CHOLMOD

[Chen et al. 2008].

5 Geodesic webs

Timber constructions like the one of Figure 4 follow a curve pattern

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-

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

and Bol 1938; Chern 1982]. Neglecting some details concerning

the domain where a web is deﬁned, we quote a result:

THE OR EM 2. A complete hexagonal web of straight lines in the

plane consists of the tangents of an algebraic curve of class 3 (pos-

sibly reducible); any class 3 curve yields a hexagonal web [Graf

and Sauer 1924]. The variety of geodesic hexagonal webs in a sur-

face is the same as in the plane ⇐⇒ the surface has constant

Gaussian curvature [Mayrhofer 1931].

In summary this means that there is a 9-parameter family of pos-

sible hexagonal webs made from geodesics, if the surface under

consideration is the plane, or its Gaussian curvature Kis constant

(see Fig. 12). Note that such surfaces possess mappings into the

plane where geodesics become straight lines; such surfaces carry

one of the non-Euclidean geometries if K6= 0.

Little seems to be known about surfaces which carry a smaller va-

riety of hexagonal webs made from geodesics. Anyway, for our

applications it is more important to have a computational tool for

generating a hexagonal web whose curves are as geodesic as possi-

ble. The level set approach is well suited for that. We describe the

three families of curves as level sets of functions φ1,φ2,φ3with

φ1+φ2+φ3= 0.(7)

This equation results in a hexagonal web: Mapping the surface S

into the plane via x7→ (φ1(x), φ2(x)) maps the level sets of φ1

and φ2to lines x=const. and y=const., resp., while the level

sets of φ3are mapped to the lines x+y=const. Equation (7) is

known in the theory of webs; in fact every hexagonal web can be

found in this way.

We implement geodesic webs as follows: We consider two func-

tions φ1, φ2on the given surface S, and optimize them such that

the sum of target functionals according to (6), evaluated for φ1,φ2,

and φ3:= −φ1−φ2becomes minimal. For results, see Figure 1

(right) and Figure 11. A different kind of web is shown by Fig. 19.

(a) (b)

Figure 12: Hexagonal webs and class 3 curves. (a) The condi-

tion that a straight line u0+u1X+u2Y= 0 is in the web reads

Pi+j+k=3

i,j,k≥0

aijk ui

0uj

1uk

2= 0. This equation characterizes the tan-

gents of a class 3 curve, and is determined, up to a factor, by 9

given lines in general position. The colors given to the tangents

identify the 3 families of a hexagonal web. (b) A geodesic web on

the sphere. It is transformed to a planar one by projection from the

center.

6 Global solution of the cladding problem

When the input surface is more complicated, it is harder to cover it

with a single geodesic pattern. We have already encountered such

difﬁculties in Section 3 where we discussed the evolution of a geo-

desic curve. We saw that the Gaussian curvature of the input surface

is responsible for the maximal length of a strip which is bounded by

geodesic curves. We are thus led to the question of segmentation of

the input surface such that each piece can be covered by a geodesic

1-pattern.

For this purpose we employ a device not used in previous sec-

tions, namely geodesic vector ﬁelds and piecewise-geodesic vec-

tor ﬁelds. This section describes a general setup related to geode-

sic vector ﬁelds, shows how to interactively design a near-geodesic

vector ﬁeld by means of a certain reduced eigenbasis of ﬁelds, and

demonstrates how to subsequently modify (sharpen) it to make it

(a) (b) (c) (d)

Figure 13: Processing pipeline for the global cladding problem. (a) The ﬁrst two elements of the reduced basis which spans the vector ﬁeld

design space. (b) User’s selection v∗

f1,v∗

f2, . . . indicated by arrows, and blue design vector ﬁeld v◦adapted to this selection. (c) Sharpened

vector ﬁeld vwhich is now piecewise geodesic together with the boundaries of macro patches which lie where the vector ﬁeld is sharp. (d)

Segmentation into ﬁnitely 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

surface along the curves where the resulting vector ﬁeld is sharp.

To ﬁnd the actual geodesic curves deﬁned by the vector ﬁeld, we

refer back to the level set method of Section 4.

Geodesic vector ﬁelds. A vector ﬁeld von a surface Sis geode-

sic if it consists of tangent vectors of a 1-parameter family of geode-

sic curves covering S. Later we also encounter piecewise-geodesic

ﬁelds which fulﬁll the geodesic property in the inside of certain

patches. The following characterization of the geodesic property

employs the notation ∇x(v), which means the covariant derivative

of a vector ﬁeld vin direction of the tangent vector x, and which

is deﬁned as the tangential component of the ordinary directional

derivative [do Carmo 1976].

PROP OS IT IO N 3. A vector ﬁeld vof constant length is geodesic

⇐⇒ for all points of the surface, the linear mapping x7→ ∇x(v)

in the tangent plane is symmetric.

Proof: kvk=const. implies that ∇x(v)is orthogonal to v, for

all x. The geodesic condition is ∇v(v) = 0 everywhere. Among

the linear mappings which map the entire tangent plane to v⊥, the

symmetric ones are exactly those which map vto zero.

Implementing geodesic vector ﬁelds. In our implementation,

the surface Sis represented as a triangle mesh (V, E , F). The vec-

tor ﬁeld is represented by unit vectors v

fattached to the incenters

mfof faces f∈F. Consider two adjacent faces f1,f2, such that

the face f2has been unfolded into the plane of f1(in the following

text, the unfolded positions of items associated with f2are marked

with a hat). In order to capture the condition of Prop. 3, we endow

each face with a local coordinate system and a Jacobi matrix Jf

such that

v

f1b

v

f2=v

f1+Jf1·(b

mf2−mf1) + re,

e

mf1b

mf2

where Jf=“g1,f g2,f

g2,f g3,f ”.(8)

Here reis a remainder term associated with the edge e=f1∩f2.

This manner of discretizing the symmetry of the covariant deriva-

tive – as postulated by Prop. 3 – comes from two facts: (i) covariant

differentiation is invariant if an isometric deformation is applied, so

we may unfold the neighboring triangles into the plane of the trian-

gle under consideration; (ii) in a plane, ∇x(v)equals the ordinary

directional derivative of vw.r.t. the vector x, i.e., it equals multi-

plication of a Jacobi matrix with x. The condition of Prop. 3 now

means symmetry of the Jacobi matrix.

In summary, the vector ﬁeld v= (v

f)f∈Fis a geodesic vec-

tor ﬁeld, if its length kv

fkis constant for all faces f, and we

can ﬁnd a collection of coefﬁcients g= (gf)f∈Fwith gf=

(g1,f , g2,f , g3,f ), such that (8) holds with the r’s below some

threshold.

The following functional attempts to quantify how well vsatisﬁes

the geodesic property. It will turn out to be very useful for the next

task (interactive editing of geodesic vector ﬁelds). We let

Q(v) = min

g∈R3|F|“X

e∈E

wekre(v,g)k2+λrkgk2”.(9)

The term including λris for regularization; we choose the factor

λrproportional to a characteristic edge length in the mesh. The

edge weights we≥0are for downweighting areas where we do

not care about the geodesic property and where we (later) want to

encourage formation of a patch boundary. We chose to downweight

areas of high curvature; so we let we= exp(−κ2

e/2µ2),where κe

is the normal curvature across the edge e, and µis computed as a

median of all absolute values |κe|. We say that these weights are

median-weights w.r.t. the mapping e7→ |κe|.

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:

PROP OS IT IO N 4. There is a positive semideﬁnite symmetric matrix

H, which depends on the given mesh, such that Q(v) = vTHv.

Proof: The bracket expression in (9) has the general form gTAg+

2gTBv+vTCvwith symmetric A, B, C =⇒its minimum is

attained for g=−A−1Bv, so Q(v) = vT(C−BA−1B)v. Pos-

itivity is obvious from Q(v)≥0.

Interactive vector ﬁeld selection. We show how the user can in-

teractively design a piecewise geodesic vector ﬁeld, by prescribing

the values

v∗

f1,...,v∗

fk(10)

of that ﬁeld in user-selected faces f1,...,fk. This procedure,

which is described in the following paragraphs and which is mo-

tivated by [Huang et al. 2009], ﬁrst amounts to choosing a vector

ﬁeld v◦which is not exactly geodesic but has a reasonably small

value of Q(v◦). In a subsequent step v◦is sharpened so as to be-

come a piecewise geodesic vector ﬁeld v.

In order to achieve interactive editing rates, we precompute a re-

duced basis v(1),...,v(n)of vector ﬁelds and and try to realize

the user’s selection by a linear combination

v◦=x1v(1) +···+xnv(n).

of these eigenvectors alone. Our choice is to take the ﬁrst neigen-

vectors of the quadratic form Q(i.e., eigenvectors of the matrix

Has deﬁned in Prop. 4). In order to determine x1,...,xnand

to reinforce the condition kv◦

fk= 1 which is not satisﬁed by the

eigenvectors, we employ two steps in an alternating way: (i) we let

¯

v◦

f=v◦

f/kv◦

fk, and (ii) we determine x1,...,xnsuch that

Fprox =

k

X

i=1 kv◦

fi−v∗

fik2+λrkv◦k2+λnX

f∈Fkv◦

f−¯

v◦

fk2→min .

The weights λn,λrgovern the inﬂuence of normalization and

regularization terms. The choice of these values is not critical;

we used λn= 0.1and λr= 0.01. We initialize this itera-

tion by letting λn= 0 in the ﬁrst round. Each round amounts

to solving a linear system and a matrix-vector multiplication, and

takes O(n3) + O(n· |F|)time. For instance, with n= 60 and

|F|= 40 000 we experienced 10 ms per round on a 2 GHz PC.

Further, we found 3–5 rounds to be sufﬁcient. Thus, vector ﬁeld

selection can be performed in real time.

Remark 2. The number ndetermines the degrees of freedom of-

fered to the user; we found n≈50 to work well. Guidance is given

by the magnitude of the ﬁrst neigenvalues which should be small,

and by the complexity of the object under consideration. Choos-

ing the ﬁrst eigenvectors of Qto span our design space amounts to

choosing a design space where Q(v◦)has small values under the

‘wrong’ and geometrically meaningless normalization constraint

kv◦k2= 1. As all vector ﬁelds undergo further treatment any-

way, this wrong normalization does not matter. Our purpose was to

ﬁnd a design space which contains enough degrees of freedom, and

which is taken from the low frequency end of the spectrum (thus

avoiding unreasonably small patch sizes).

Figure 14: Sharpening a vector ﬁeld

(left) such that it becomes piecewise

geodesic (right). This is a detail of

Fig. 13.

Vector ﬁeld sharpening. Segmentation of the given surface S

into patches is based on piecewise geodesic vector ﬁelds, which

fulﬁll the geodesic property in the inside of certain patches (i.e., re

is small there), but we allow high values of krekalong the patch

boundaries. We assume that a vector ﬁeld v◦is given, and we wish

to ﬁnd another vector ﬁeld vwhich is close to v◦, but is piecewise

geodesic. We set up an optimization problem as follows:

F(v,g) = λvFdist(v) + λrkgk2+Fgeod (v,g)→min,(11)

Fgeod(v,g) = X

e∈E

weρ(kre(v,g)k), ρ(x) = x2

1 + αx2,(12)

Fdist(v) = X

f∈F

wfkv

f−v◦

fk2.(13)

The function ρcould be any of the heavy-tailed functions used for

image sharpening (see for instance [Levin et al. 2007]). Its purpose

is to push the deviations to accumulation areas. We used the robust

estimator of Geman and McClure [1987], with α= 100 in all ex-

amples. Global weights λr,λvwhich govern the inﬂuence of the

regularization term and the proximity of vto v◦have to be set ac-

cording to the application. We maintain the condition kv

fk= 1,

so the variables in this optimization are, besides g∈R3|F|, the

collection of angles θfwhich deﬁne the vector v

fin the local coor-

dinate system of the face f. The optimization problem is solved in

the same way as that of Section 4.

The face weights wfoffer the possibility to keep vclose to v◦

where v◦already is a geodesic vector ﬁeld – indicated by smallness

of re(v◦). We employ median-weighting w.r.t. the mapping f7→

Pe∈∂f kre(v◦)k.

Surface segmentation and pattern layout. Having found a

piecewise geodesic vector ﬁeld v, we now deﬁne patches by cut-

ting along the edges where vis sharp. We ﬁrst collect all edges

e=f1∩f2where the angle between vf1and vf2is greater than a

threshold value α; such edges indicate patch boundary curves (we

use α= 20◦). We then use the method of Pauly et al. [2003] to

polish these curves. We omit details since we do not consider seg-

mentation a new result. Segmentation being completed, we end

up with patches P1, . . . , PMwhich we know can be covered by a

smooth geodesic vector ﬁeld. The layout of evenly spaced geode-

sics within each Pjis done according to Section 4, augmenting the

target functional (6) by

F(j)

align =λuser X

i:fi∈Pjh∇φ(f),v∗

fii2+λsharp X

f∈Pjh∇φ(f),vfi2.

Minimizing F(j)

align means that the geodesics occurring as level sets

of φare aligned with the sharpened vector ﬁeld vand/or with the

user’s selection {v∗

fi}. The corresponding weights λsharp and λuser

have to be set accordingly. Results are shown in Figs. 1, 13, and 15.

Figure 15: Instead of properly

segmenting a surface into parts

which can be covered by smooth

geodesic 1-patterns, we may look

for a weaker solution: cutting it

open along curves such that it can

be covered by 1-patterns which

are smooth everywhere except at

the cuts. The present example is

almost a true segmentation with

only 1 dangling edge.

General remarks. There are several reasons why the interactive

procedure of Section 6 is not only nice to have in applications, but

is actually necessary: First, the highly nonlinear minimization of

the function F(v,g)in Equation (11) will typically get stuck in

local minima, so we cannot expect that unguided minimization of

F(v,g)succeeds. Second, there is a great variety of local minima

which cannot clearly be distinguished by the magnitude of F(v,g)

alone. For this reason it is necessary to let the user choose.

7 Discussion

Architectural applications are not limited to timber structures, as the

static properties of geodesics apply to any material. An additional

bonus is that beams which follow geodesics, being shortest, need

less material than other shapes. Fig. 16 shows an example, featuring

a 2-pattern of geodesics which is designed for realization in steel

rather than in wood.

Comparing the vector ﬁeld method with other approaches.

The segmentation procedure of Section 6 is governed by both user

interaction and Gaussian curvature, since it produces patches inside

which the Gaussian curvature has a nice behaviour — ‘nice’ being

deﬁned in terms of the capability of being covered with a 1-pattern

of geodesic curves. Segmentation of surfaces driven by Gaussian

curvature as proposed by [Yamauchi et al. 2005] for even distribu-

tion of Gaussian curvature or by [Julius et al. 2005] for near-de-

velopable patches probably produces patches which can be covered

Figure 16: Relations between fami-

lies of geodesics. The level set ap-

proach is capable of accommodating

additional requirements, such as a de-

sired intersection angle αbetween the

level sets of functions φ1, φ2. This 2-

pattern of geodesic curves is imposed

on the Warsaw Lilium Tower by Zaha

Hadid Architects. True geodesics in

orange are shown for comparison.

by geodesic 1-patterns. The method of the present paper, however,

directly works with geodesics in a user-controlled way; Gaussian

curvature is present only implicitly.

This paper contains another way of segmenting a surface into

patches which can be covered by almost equidistant geodesics,

namely the evolution of broken geodesics as illustrated by Fig. 9 (it

even yields a consistent spacing of curves along the patch bound-

aries). The method of Section 6 is much more ﬂexible, however,

and treats each part of the surface in the same way, independent of

an initial choice of geodesic to evolve from.

Computation details and timings. For the level set approach,

details on the choice of weights, the number of variables, etc., as

well as timings are given by Table 1. For the geodesic vector ﬁeld

approach, the choice of weights is detailed by Section 6. Timings

are given by Table 2 for three examples, each of which have 40k

faces. Preprocessing (eigenspace computation with Arpack) needs

30–40 seconds. One round of sharpening takes 1.1 seconds, and

the ﬁnal segmentation needs about 1 second. That table also shows

times for the evolution of broken geodesics according to Section 3.

Here about 70% of the time is used for the piecewise ﬁtting of

curves, the rest is postprocessing like merge, trim, etc.

Fig. var iter. sec FκF∆FwFangle λ µ ν

1 33k 4 32 .25 20 10−200

10a 10k 10 16 .0006 2470 25 10−810−40

10b 10k 11 17 .71 392 .0007 10−410+4 0

11 21k 12 77 .005 145 10−600

16 159k 10 419 .66 1050 .26 3·10−402.8

Table 1: Details for the level set approach. We show the number of

variables, number of iterations, total time for a 3GHz PC, the values

of functionals and the weights used in optimization.

Figure 9a 9b 1 (left ) 13 17 (left)

seconds 86 113 102 85 73

Method Evolution Vector ﬁelds

Table 2: Representative timings for evolution of geodesics, and for

the geodesic vector ﬁeld method. Data apply to a 2GHz PC.

Limitations. Since in a ﬁxed surface the geodesics are only a two-

parameter family of curves, often the designer’s request cannot be

met and one has to compromise (see Fig. 10b for an example of a

decision for equal spacing rather than for the geodesic property).

This phenomenon can also cause the segmentation process of Sec-

tion 6 to produce unsatisfactory results, in which case it has to be

iterated (see Fig. 17).

Geodesic webs pose many constraints on the involved curves and

in fact we cannot expect them even to exist in a mathematically

exact way on arbitrary surfaces. Our level set approach produces

webs of curves which are as geodesic as possible, but deviations

of level curves from true geodesics are inevitable (see Fig. 18). As

mentioned in Theorem 2, on constant Gaussian curvature surfaces

we have the same variety of geodesic webs as for straight line webs

in the plane. This is veriﬁed by the fact that the level curves in

Figures 11 and 19 are indistinguishable from true geodesics.

Figure 17: A situation where two rounds of segmentation are nec-

essary because of the unsatisfactory result of the ﬁrst round.

Figure 18: A hexagonal web of

near-geodesics. We show some

curves of the web Fig. 1 is based

on. Due to the strong variation

in Gaussian curvature they de-

viate from true geodesics (thick

curves).

One major motivation for geodesic patterns is the cladding of

freeform surfaces by thin wooden panels. This cladding problem

has been considered previously by Pottmann et al. [2008b], in the

context of developable strips which certainly are a shape which thin

panels can assume. In that paper the importance of curve’s tangents

staying away from asymptotic directions was mentioned. We could

incorporate this condition in our level set approach, but we have

completely neglected it in this paper. In the negatively curved areas

of surfaces, it would very much obstruct our available degrees of

freedom. The reason why we chose not to aim at developable strips

is that they are not the shape that bent wooden panels assume in

general; such panels can be twisted (for other materials, however,

this additional aspect has to be observed to a higher degree).

Conclusion and future research. Motivated by problems in

freeform architecture we have described three different approaches

to the layout and interactive design of geodesic patterns on surfaces.

Each of the methods treated in this paper has its speciﬁc strength:

The Jacobi ﬁeld approach to the evolution of geodesic curves is best

suited to deal with local issues. The level set approach can deal with

the global layout of patterns very well, and is efﬁcient in dealing

with multiple patterns of geodesic curves which are in some rela-

tion, such as the condition that they form a hexagonal 3-web. The

vector ﬁeld approach is capable of solving the global layout and

segmentation problem in an interactive way.

This paper seems to be the ﬁrst where the classical geometry of

webs is employed in a geometry processing context. It is likely that

this theory has yet more potential and applications, in particular in

architecture.

Acknowledgments. This research has been supported by the

Austrian Science Fund (FWF) under grants No. S92-06 and S92-

09 (National Science Network Industrial Geometry), and by the

European Community’s 7th Framework Programme under grant

agreement 230520 (ARC). The authors gratefully acknowledge the

support of NSF grants 0808515 and 0914833, of NIH grant GM-

072970, and of a joint Stanford-KAUST collaborative grant. We

want to express our thanks to Zaha Hadid Architects, London, to

be able to work on data which come from some of their current

projects.

References

BLASCHKE, W., AND BOL , G. 1938. Geometrie der Gewebe.

Springer.

CAS EL LE S, V., KIMMEL, R., AND SAP IRO , G. 1997. Geodesic

active contours. Int. J. Comput. Vision 22, 1, 61–79.

CHE N, J., AND HA N, Y. 1996. Shortest paths on a polyhedron. I.

Computing shortest paths. Int. J. Comput. Geom. Appl. 6, 127–

144.

CHE N, Y., DAVIS , T. A., HAGE R, W. W., A ND RAJAMAN-

ICKAM, S. 2008. Algorithm 887: CHOLMOD, supernodal sparse

Cholesky factorization and update/downdate. ACM Trans. Math.

Softw. 35, 3, #22, 1–14.

CHE RN , S . S . 1982. Web geometry. Bull. Amer. Math. Soc. 6, 1–8.

DO CARMO, M. 1976. Differential Geometry of Curves and Sur-

faces. Prentice-Hall.

DO CARMO, M. 1992. Riemannian Geometry. Birkh¨

auser.

GEMAN, S., AND MCCLU RE , D . E . 1987. Statistical methods for

tomographic image reconstruction. Bull. Inst. Internat. Statist.

52, 4, 5–21.

GRAF, H., AN D SAUER , R. 1924. ¨

Uber dreifache Geradensysteme.

Sitz. Bayer. Akad. Math.-nat. Abt., 119–156.

HUAN G, Q ., W ICKE, M., ADAM S, B ., AND GUIBAS , L. 2009.

Shape decomposition using modal analysis. Comput. Graph. Fo-

rum 28, 2, 407–416.

JULIUS, D., KR AE VOY, V., AND SH EFF ER , A. 2005. D-charts:

Quasi-developable mesh segmentation. Comput. Graph. Forum

24, 3, 581–590.

K¨

ALBERER, F., NI ES ER , M. , AND POLTHIER, K. 2007. Quad-

Cover – surface parameterization using branched coverings.

Comput. Graph. Forum 26, 3, 375–384.

KIM ME L, R., AND SE TH IA N, J. A. 1998. Computing geodesic

paths on manifolds. PNAS 95, 8431–8435.

LEV IN , A., FERGUS, R ., D URAND, F., AND FREEMAN, W. T.

2007. Image and depth from a conventional camera with a coded

aperture. ACM Trans. Graphics 26, 3, #70, 1–9.

MADSEN, K., NI EL SE N, H . B. , AN D TINGLEFF, O., 2004. Meth-

ods for non-linear least squares problems. Lecture Notes. http://

http://www.imm.dtu.dk/courses/02611/nllsq.pdf.

MAYRH OF ER , K. 1931. Sechseckgewebe aus Geod¨

atischen. Mo-

natsh. Math. Phys. 38, 401–404.

M¨

UL LE R, H. R. 1941. ¨

Uber die Striktionslinien von Kurvenscha-

ren. Monatsh. Math. Phys. 50, 101–110.

NATTE RE R, J ., B URGER, N. , AN D M¨

UL LE R, A. 2002. The roof

structure “Expodach” at the world exhibition Hannover. In Proc.

5th Intl. Conf. Space Structures, 185–193.

OSH ER , S. J ., A ND FEDKIW, R. P. 2002. Level Set Methods and

Dynamic Implicit Surfaces. Springer Verlag.

PAULY, M., KEISER, R ., AND GR OS S, M. 2003. Multi-scale

feature extraction on point-sampled surfaces. Comput. Graph.

Forum 22, 3, 281–290.

PIR AZ ZI , C. , AND WEI NA ND , Y. 2006. Geodesic lines on free-

form surfaces: optimized grids for timber rib shells. In Proc.

World Conference on Timber Engineering. 7pp.

POLTHIER, K., AND SCHMIES, M . 1998. Straightest geodesics on

polyhedral surfaces. In Mathematical Visualization, Springer,

H.-C. Hege and K. Polthier, Eds., 391–409.

POTT MA NN , H. , HOF ER , M., AN D KILIAN, A., Eds. 2008. Ad-

vances in Architectural Geometry. Proc. of Vienna conference.

POTT MA NN , H. , SCHIFTNER, A., BO, P., SCHMIEDHOFER, H.,

WANG, W., BA LDAS SI NI , N. , AND WALL NE R, J . 2008.

Freeform surfaces from single curved panels. ACM Trans.

Graphics 27, 3, #76, 1–10.

SHE LD EN , D. 2002. Digital surface representation and the con-

structibility of Gehry’s architecture. PhD thesis, M.I.T.

SPUYBROEK, L. 2004. NOX: Machining Architecture. Thames &

Hudson.

SUT TON, D. 2007. Islamic Design: A Genius for Geometry.

Walker Publ. Comp.

YAMAUCHI, H., GUMHOLD, S ., Z AYE R, R., A ND SEIDEL, H. P.

2005. Mesh segmentation driven by Gaussian curvature. Vis.

Computer 21, 659–668.

(a) (b)

Figure 19: Geodesic 4-pattern. For a combination of two hexag-

onal webs, functions φ1,φ2are optimized such that level sets of

φ1, φ2, φ1±φ2are geodesic. (a) Level sets (thin) and true geode-

sics (thick). Level sets of all four functions are almost truly geo-

desic, because the Gaussian curvature is nearly constant for this

particular surface. (b) Transfer of an Islamic art pattern according

to [Sutton 2007] to the surface by the simple texture coordinates

u=φ1,v=φ2. The four principal directions in the pattern follow

geodesic curves.