ArticlePDF Available

Abstract and Figures

Beside classical point based surface design, sphere based creation of characters and other surfaces has been introduced by some of the recently developed modeling tools in Computer Graphics. ZSpheres® by Pixologic, or Spore™ by Electronic Arts are just two prominent examples of these softwares. In this paper we introduce a new sphere based modeling tool, which allows us to create smooth, tubular-like surfaces by skinning a user-defined set of spheres. The main advantage of the new method is to provide a parametric surface with more natural and smoother shape, especially at the connection of branches than the surfaces provided by the existing softwares and methods.
Content may be subject to copyright.
KSpheres - An Ecient Algorithm for Joining Skinning Surfaces
Korn´el Banaa, Kinga Kruppaa, Roland Kunklia,, Mikl´os Homanna,b
aFaculty of Informatics, University of Debrecen, Kassai Way 26, H-4028 Debrecen, Hungary
bInstitute of Mathematics and Computer Science, K´aroly Eszterh´azy University College, Le´anyka str. 4, H-3300 Eger, Hungary
Beside classical point based surface design, sphere based creation of characters and other surfaces has been introduced
by some of the recently developed modeling tools in Computer Graphics. ZSpheresrby Pixologic, or SporeTM by
Electronic Arts are just two prominent examples of these softwares. In this paper we introduce a new sphere based
modeling tool, which allows us to create smooth, tubular-like surfaces by skinning a user-defined set of spheres. The
main advantage of the new method is to provide a parametric surface with more natural and smoother shape, especially
at the connection of branches than the surfaces provided by the existing softwares and methods.
Keywords: sphere based modeling, skinning surface
1. Introduction1
Creating various shapes is always the first step of2
many computer graphics related problems. Nowadays3
there is a growing demand to extend the well-known,4
point based surface methods (all the spline and subdivi-5
sion surfaces are based on a predefined set of points) to6
new algorithms which rely on other types of geometric7
primitives such as spheres. Animation and creation of8
characters are of central importance in computer graph-9
ics, where skinning methods are also applied [1]. As a10
new tool, surface modeling by spheres has already ap-11
peared in computer graphics in the last couple of years.12
Several papers have been published in this topic, where13
theory of sphere based surface modeling has been intro-14
duced, and applied in several fields, including medical15
and biological applications, character animation or cov-16
ering problems, see [2–6], e.g. Moreover, commercial17
software tools have also been developed in this field,18
such as ZSpheresr[7] by Pixologic, or SporeTM [8] by19
Electronic Arts.20
In this paper we introduce a novel approach of sphere21
based shape modeling. Based on the theoretical ap-22
proach of blending of spheres developed in [9], the23
Corresponding author
Email addresses: (Korn´el Bana), (Kinga Kruppa), (Roland Kunkli), (Mikl´os Homann)
method provides a parametric surface, skinning of a pre-24
defined, ordered set of spheres. The surface can be in-25
teractively modified in real time by adjusting the posi-26
tions and radii of the spheres. New branches can also27
be added by simply defining new sequences of spheres.28
The result is a piecewisely defined surface, where the29
branches are connected automatically in a smooth (G1
continuous) way. In Figure 1 we can see a comparison31
between our result and the result of ZSpheresr.32
Thus the main contribution of this paper is to extend33
our previous method in order to handling branching sur-34
faces. The method presented in this paper is based on35
the idea of our prior algorithm, but it is extended to36
shapes with several branches, which can help the cre-37
ation of animation characters or more structured tubular38
The final input of our method is a rooted tree graph in40
3D, where at each node we have a sphere. The spheres41
can have dierent radii. During the modeling phase42
the graph is built from one single sequence of edges43
(spheres) and can be modified in an interactive way, by44
adding new branches to the tree and altering the radii4 5
and positions of the spheres. In one branch (one se-46
quence of spheres) the admissible positions of spheres47
are defined as follows.48
Definition 1. A sequence of spheres C=49
{s1,s2,s3, . . . , sn}(nN) is called admissible50
configuration if the following conditions are fulfilled:51
Preprint submitted to Computer Aided Geometric Design August 22, 2014
Click here to view linked References
sj,i∈ {1,2, . . . , n}52
sisj=,i,j∈ {1,2, . . . , n},j<{i2,i1,i,i+53
if si1si+1,, then si1si+1si
These conditions can easily be checked by simple56
Conditions of adding a new branch to the existing tree58
are as follows:59
spheres of the new branch have to form an admis-60
sible configuration described in Def.161
the first sphere of the new branch has to be one of62
the spheres of the existing structure63
none of the spheres of the new branch (except, of64
course the first one) can intersect any of the other65
spheres of the existing structure.66
These assumptions are natural restrictions in order to67
avoid intersecting branches and closed loops, but at the68
same time the construction involves (i.e. the surface69
touches) all of the given spheres. As it is described in70
[9] the G1continuity of the surface is guaranteed along71
the branches, while at the junctions of the branches it is72
also assured by the new method as described in Section73
4.2. All given spheres are touched along a circle, and74
the surface does not intersect the spheres, as it follows75
from the original algorithm.76
This structure is appropriate for an important set of77
applications, including medical and biological applica-78
tions and constructing characters. In theory, our method79
could handle more than three neighbors of one single80
sphere, which would yield junctions with more than two81
branches started from the same sphere. But in this case82
the smoothness of the joining patches is not always en-83
sured, especially when the curve along which a new84
branch is connected to the existing structure has arcs in85
the surface of two or more existing branches. In Figure86
12 one can observe this kind of junctions. The possi-87
ble extension of the presented method in order to han-88
dle more complicated structures can be the direction of89
future research.90
The paper is organized as follows. In Section 2,91
we shortly overview the theoretical background of the92
topic, while in Section 3 the specific method we apply93
for our purpose is discussed briefly. In Section 4, the94
creation of new branches and their connection to the95
original surface are introduced. The existing software96
Figure 1: Defined by an ordered set of spheres, the software
ZSpheresr(above) applies subdivided cylinders and cones, while our
method (below) computes a parametric surface between the spheres.
The given spheres with the blending pieces (left) and the final, ren-
dered surfaces (right) can be seen in both methods.
tools are compared to our method in Section 5, where97
further examples of the output of our method are pro-98
vided. Conclusion and possible future directions of re-99
search close the paper.100
2. Related Work101
Given two separated surfaces, the connection be-102
tween them is normally created by a technique called103
blending. Several papers are dealing with the prob-104
lem of blending of curved objects, and creating a sur-105
face from these blending patches. In standard methods,106
curves are given in the objects (sometimes as bound-107
ary curves of the surfaces, e.g. in case of cylinders),108
and these curves will be the joint touching (boundary)109
curves of the given objects and the created blending110
surface. Thus the blending surface has to be defined111
only between these curves. For spheres as given sur-112
faces, this kind of blending algorithm is discussed in113
[10], [11], but these papers consider only two surfaces114
and the blending patch, without constructing a shape de-115
fined by a sequence of spheres.116
It is a more challenging task if, instead of two sur-117
faces, a set of spheres (or more generally, surfaces with-118
out boundaries) are given, where neighbouring rela-119
tions, according to a given graph, also have to be taken120
into account. There are recent results of this field of121
blending, where surfaces with branches are also consid-122
ered but, contrary to our method which provides para-123
metric surface patches, the blending surface patches in124
these methods are given in an implicit form [12], [13],125
or by subdivision methods [14], which may restrict their126
application in CAD softwares. Moreover, if the spheres127
are given without predefined touching curves, then the12 8
touching curves of the blending surface have to be de-129
termined at first. In our case, spheres are given without130
any additional data, thus the first and most important131
step must be the definition of possible common touch-132
ing curves of the future blending surface on the given133
spheres, taking into account the positions of the neigh-134
bouring spheres. This problem has been solved by par-135
tial dierential equations (PDEs) applying an iterative136
method in [4]. In this method, an initial position of137
blending surface is modified iteratively by solving an138
energy minimizing PDE. The drawbacks of this method139
are that the convergency is not proved, the final result140
can be heavily aected by the initial position, and the141
iteration is time consuming (can take seconds for a sur-142
face) due to the PDE.143
As an alternative method, a direct computation of144
touching circles of the blending surface patch on the145
given spheres has been provided in [9]. As it has been14 6
proved in 2D in [15] and [16], this method provides bet-147
ter results than the iterative method presented in [4] in148
terms of computing time and curvature flow. In terms149
of computing time, contrary to the iterative method in150
[4], our algorithm works in real time. It provides a suf-151
ficient solution also for extreme positions of spheres.152
Only some evident restrictions for the positions of the153
given spheres have to be satisfied, especially none of154
the spheres can be entirely covered by other spheres (for155
exact definition of admissible input, see Def 1). The156
algorithm works perfectly even if only a small portion157
of a sphere is out of neighbouring spheres, as one can158
observe in Figure 3. But the original algorithm given159
in [9] can handle only one single sequence of spheres160
without further branches. For better understanding of161
the remaining part of the paper, the basic steps of this162
original algorithm provided in [9] will be discussed in163
the following section.164
3. The basic skinning algorithm165
Given a sequence of spheres siwith centers oi(i=166
1, . . . , n), we are looking for a G1continuous parametric167
surface s(φ, t) (φ[0,2π],t[0,1]) called skin of the168
given spheres satisfying the following requirements:169
There is a circle of contact (touching circle) cion170
the sphere sifor all i=1, . . . , nsuch that the skin s171
and sphere sihave common tangent planes at each172
point of ci. Circle ciis an isoparametric curve of s.173
ciis not contained or intersected by any other174
sphere than sifor all i=1, . . . , n.175
Figure 2: Computation of touching circle (white) on one of the
given spheres, where the future blending surface will touch the ac-
tual sphere. Apollonius circles (dashed red) are applied in the plane
of the centers of three consecutive spheres, while the plane consisting
of the touching circle is orthogonal to that plane
The sketch of the algorithm is as follows. The crucial176
point of the algorithm is to determine the touching cir-177
cles. For each triplet of consecutive spheres si1,si,si+1
a contact circle on siis computed by considering the179
plane Pthrough the centers of the triplet of spheres,180
and by solving the Apollonious problem for the circles181
where Pintersects the spheres. At the touching points of182
the Apollonian circle and the sphere si, a plane orthog-183
onal to the plane Pis considered, and this orthogonal184
plane intersects the sphere sialong a circle. Comput-185
ing this circle to each sphere, neighboring spheres are186
connected by cubic polynomial surface patches touch-187
ing the spheres along these contact circles.188
Now let us consider the details. At first we have to
determine the touching circle cion the sphere siwith
center ˜
oiand radius ˜ri(i=1,...,n) (c.f. Figure 2).
For the moment, let us consider the spheres si, where
i=2, . . . , n1, that is we exclude the first and the last
sphere. Consider the plane Pidetermined by the cen-
ters oi1,oi,oi+1of the considered sphere and its direct
neighbours. (If the centers are collinear, Pican be cho-
sen as an arbitrary plane passing through them.) Inter-
secting the spheres by this plane we obtain three circles.
Here we note, that the assumptions given in def. 1. also
cj,i=2, .., n1
where riis the radical center of the three consecu-189
tive circles obtained by intersecting the three spheres190
si1,si,si+1by the plane Pi. With the help of two suit-191
able Apollonius circles, that is circles touching all the192
three given circles from outside or inside, respectively193
(see the dashed red circles in Figure 2), we can find194
two points in the middle circle. If, by chance, the three195
circles are in a position having common tangent lines196
(and no touching circles), then the touching points of197
these tangent lines on the middle circle are considered.198
There exists exactly one plane Ti(i=2, . . . , n1) pass-199
ing through these two points and being orthogonal to200
plane Piof the centers of the spheres. The intersection201
of sphere siand this orthogonal plane Ti(white circle202
in Figure 2) will be the touching circle of the future203
skinning surface and the sphere si. Note that the touch-204
ing circle we constructed now is identical to the one in205
which the Dupin cyclide defined by three given spheres206
si1,si,si+1touches the sphere si. It is worth mention-207
ing here that patches of Dupin cyclides defined by three208
spheres si1,si,si+1could also be applied for construct-209
ing a surface, but consecutive cyclide patches generally210
do not touch the common spheres along the same cir-211
cles, resulting in unpleasant intersections or gaps. Two212
given spheres with given tangent circles (cones) can be213
interpolated by one single cyclide patch only if some214
geometric constraints are satisfied. They can also be215
interpolated by joining two Dupin cyclide patches, but216
this way the shape of the surface can have unpleasantly217
large S-shaped parts and twists.218
We can localize a circle by this method on every219
sphere except the first and the last one, s1and sn, where220
one of the neighbours is evidently missing. In these two221
cases regular touching cones of spheres s1and s2, and222
sn1and snare considered, respectively. One can eas-223
ily determine the touching circles on s1and snof these224
cones, which circles will be considered as the touching225
circles of the blending surface on these spheres. Note,226
that the touching circles are not necessarily great circles227
of the given spheres.228
Once the touching circles with center ˜
oiand radii229
˜rion each sphere are obtained, one can start to create230
the skin by patches defined successively to each pair of231
spheres using Hermite interpolants through correspond-232
ing points of the touching circles.233
The future blending patch si(φ, t) (φ[0,2π],t234
[0,1]) of the skin between touching circle cion sphere235
siand touching circle ci+1on sphere si+1is computed236
as follows. Circle ciis the isoparametric curve si(φ, 0),237
while ci+1is the isoparametric curve si(φ, 1) of this238
patch. At first we define the starting point on cias239
zi=si(0,0) and on ci+1as zi+1=si(0,1). Then rotating240
them by the same angle φalong the circles, correspond-241
ing pairs of points zi(φ)=si(φ, 0), zi+1(φ)=si(φ, 1) are242
defined (φ[0,2π]).243
Tangent directions wizi(φ) at the endpoints are in-244
herited from the touching cones of the spheres, where wi
is the apex of the regular cone touching the sphere siat246
the circle ci. These cones can be degenerated to regular247
cylinders if the touching circle ciis a great circle of the24 8
sphere si, in this case the tangent directions are all par-249
allel to the reguli of the cylinder. Suitable lengths liof250
tangent vectors are computed by the help of the radical251
plane Miof the two spheres, more precisely by the help252
of the distance d(Mi,zi(φ)) of the actual point and the253
radical plane. To avoid unnecessary torsion of the fu-254
ture surface patch, corresponding points are associated255
to each other by the help of a fixed spatial direction e,256
which can be, e.g. the direction of the zaxis, not parallel257
to any of the vectors wioi, or e=(wi˜
Moreover, an additional sign function is required. Let259
s: → {−1,1}and p : {si} → {−1,1}be functions de-260
fined by261
s(x)=(1,if x<0,
sD wioi
koi+1oikE,if i,n,
sD wioi
where h,iis the standard inner product.262
Now let zibe defined as263
where ˜riis the radius of the touching circle ci. Further264
corresponding points zi(φ) of the touching circles are265
defined by rotating ziby angle φaround the line passing266
through ˜
oiand having direction p(si)·(wi˜
The tangent vectors at the endpoints are defined as
vi(φ)=2·p(si)·d(Mi,zi(φ)) ·wizi(φ)
vi+1(φ)=2·p(si+1)·d(Mi,zi+1(φ)) ·wi+1zi+1(φ)
Finally the blending surface patch sibetween two
neighboring spheres siand si+1is as follows
si(φ, t)=H3
where H3
j, ( j=0,1,2,3) are the cubic Hermite func-268
tions (see Figure 3) and φ[0,2π], t[0,1]. The269
algorithm assures G1continuity between the blending270
patches. For further details of the algorithm see [9].271
Figure 3: Result of the original algorithm: an animal defined by one
single sequence (one branch) of spheres.
4. New branches272
To extend the original method, in this section we pro-273
vide the algorithm for adding new branches to the ex-274
isting structure. The first step is to choose the start-275
ing sphere among the existing spheres and to define a276
new admissible sequence of spheres by the user. Let277
us denote the starting sphere by si, chosen from the278
existing branch of spheres . . . , si1,si,si+1, . . ., and de-279
note the spheres of the new branch by pi j,j=1, . . . , m,280
where pi1=si. The new spheres pi j ,j=2, . . . , m, can281
be blended by the original algorithm described above,282
thus the main goal is to smoothly connect this new283
branch with the branch of si(see Fig.7, where the blue284
patches are computed by the original algorithm in both285
branches, while the new red patch is to connect the new286
branch to the original one). Since the original algorithm287
provides G1continuous surface along the branches, it288
is a natural requirement to produce a G1connection be-289
tween the branches as well. It is also worth mentioning290
that this method is not symmetric in terms of branches,291
that is there is a “parent” branch and “child” branch(es)292
in each connection, similarly to a rooted tree graph.293
Details of the computation of the connecting (red)2 94
patch of the two branches are provided in the next sub-295
4.1. The new touching circle297
Let us consider three neighbouring spheres298
si1,si,si+1from the original sequence and assume that299
we would like to connect a new branch starting at si.300
At first we determine a new touching circle on sifrom301
where the new branch can start. For this purpose we302
apply the basic algorithm for sphere triplets si1,si,pi2
and si+1,si,pi2, respectively, to obtain two circles on si,304
ci1and ci2(Figure 4).305
The new touching circle (let us denote it by c
i) is fit-306
ting on the common points of ci1and ci2. We can deter-307
mine its normal vector nias the sum of the normalized308
normal vectors of ci1and ci2,ni1,ni2, respectively. Ac-309
tually the plane consisting of the circle c
iis the bisector310
plane of the planes of ci1and ci2. In most cases the311
common points of ci1and ci2exist, if not, then we can312
consider the plane passing through the center of ci1and313
having normal vector ni. The intersection of this plane314
and the sphere pi1will be the circle c
iin question.315
Figure 4: Constructing new touching circle (red) for the joining
Although other methods of creating the new circle316
may also work well, it is important to note that we have317
constructed a new touching circle on siwith a method318
which is simple, and sensitive to its neighbours. The319
simplicity is important in order to preserve the real time320
computation ability, while the sensitivity is especially321
advantageous when neighbouring spheres have drasti-322
cally dierent radii. In our practice the method behaved323
correctly in any admissible circumstances.324
After this step we can construct a new branch start-325
ing from si=pi1with the help of the original algo-326
rithm, blending the spheres pi j , ( j=1,...,m). This327
way the branch surfaces will not be connected smoothly,328
but they will have a sharp intersection.329
In the following part we describe how we can achieve330
aG1continuous connection of the branches. The origi-331
nal algorithm is applied only from the second sphere of332
the new branch (to the spheres pi2,pi3, . . ., etc.), and a333
smooth connection patch is created between the sphere334
pi2and the original branch (the branch of si). For335
this purpose we create a boundary curve on the origi-336
nal branch and the sphere pi2will be connected to the337
original branch by a patch which will touch the original338
branch along this curve in a G1continuous way.339
4.2. Boundary curve for G1continuous connection340
At first we determine a point mion circle ciwhich341
is the original touching circle on the sphere sifor the342
original (“parent”) branch. This point will be the so-3 43
called “midpoint” of the closed boundary curve.344
To define point mi, let nidenote the normal vector of
ci,||ni|| =1. We would like to find vector hisuch that
ni=hi+λ·niand hhi,nii=0,
where λR.345
From equation hniλ·ni,nii=0 we can easily
calculate the value of λ, so hican be determined as
hi=niλ·ni. After this step hican be used to describe
vector mi:
Practically this is an orthogonal projection of a special
Figure 5: Constructing the center of the boundary curve.
representant of n
ito the plane consisting of the circle ci
(for the notations see Figure 5).348
Now we can define a continuous boundary curve on349
the blending surface of the original branch along which350
the new branch will touch this original branch. It is clear351
from the computation (see Figure 5) that mifits on ci.352
Let us consider zi, the starting point of the parameteri-353
zation of circle ci. Based on the notes of [9] and Section354
3 we can determine an angle αi[0,2π), such that ro-355
tating zialong the circle ciby αi, we reach the point mi,356
that is zi(αi)=miholds.357
Now we define the two arcs Li1and Li2of the bound-
ary curve. Let us consider the following arc:
2(t0)·p(si)·2·d(Mi,zi(αi+θ)) ·wizi(αi+θ)
where t0=4q
4)2θ2(based on the equation
y=r2x2of a semicircle with radius rand centered
at the origin), θhπ
4iand q]0,1[. Increasing
qthe boundary curve will run closer to the neighbour-
ing spheres. This curve will be one arc of the boundary
curve between siand si+1. The second arc is defined
from sito si1by
(αi+θ)) ·wi1zi1(αi+θ)
2·d(Mi1,zi(αi+θ)) ·wizi(αi+θ)
where t0and θhas the same value as above. The two358
arcs of the boundary curve can be seen in Figure 6.
Figure 6: The two arcs of the boundary curve, q=0.3.
As we have mentioned previously, with the help of360
the basic algorithm and the new touching circle c
sphere siwe can determine touching circles on the362
spheres of the new branch. So to create a G1contin-363
uous connection from the boundary curve we have to364
consider its points and assign endpoints on the touching365
circle of pi2to them. Let us denote this circle by ci2.366
With the above mentioned technique based on or-367
thogonal projection we can localize a matching point for368
Li1(0) by projecting vector miLi1(0) (the starting point369
of the needed representant is the center of c
i) onto the370
plane consisting of the circle ci2, then translate the cen-371
ter of ci2with the normalized of this vector multiplied372
with the radius of ci2. This point will be the endpoint of373
the Hermite arc starting at Li1(0). Then with rotations374
Figure 7: Connection of two branches. Hermite arcs (isoparametric
curves of the patch), starting at the boundary curve can be seen.
by angles between 0 and 2πthe first part of the blending375
surface of the new branch can be constructed from sito376
pi2analogously to the basic algorithm (see Figure 7).377
To compute the tangent vectors at the points of the378
boundary curve, the tangent plane of the original surface379
sihas to be computed first. The partial derivatives of the380
surface (1) are as follows381
∂φ si(φ, t)=H3
0(t) ˙
1(t) ˙
tsi(φ, t)=d
dt H3
dt H3
dt H3
dt H3
The normal vector of the tangent plane will be the382
cross product of the partial derivatives.383
Now we use the described orthogonal projection384
again to create tangent vectors at each point of the385
boundary curve. For this purpose we project orthogo-386
nally the vector Li1(θ)mionto the tangent plane at387
Li1(θ) for each θhπ
4i. The length of the tangent388
vector is the distance of the point from the radical plane389
of the two spheres multiplied by 2.390
5. Results and comparison with other methods391
Based on the theoretical results described above, an392
easy-to-use software tool is provided to create surfaces393
and characters by spheres. We used our own C libraries394
for the required geometrical calculations and OpenGL3 95
for the rendering process. The software is able to gener-396
ate its output in EPS format, using the Asymptote vector397
graphics language. We can define spheres, adjust their398
positions and radii, and choose a sphere from where a399
new branch will start. The blending surface is computed400
in real-time, automatically, with several possibilities of401
modification (colour, rendering etc.).402
As we have mentioned, this kind of tools have al-403
ready been introduced in computer graphics, but in404
several cases our method provides better results, espe-405
cially in terms of connection of branches. This problem406
of smooth connection is especially noteworthy when407
branches meet at small spheres, that is the radius of408
the sphere pi1=siis much smaller than the radii of409
si1,si+1and pi2. It can cause unwanted and some-410
times unacceptable forms in other softwares, while our411
method is not sensitive to the suddenly changed radii412
of the given spheres. In Figure 8 and 9 one can ob-413
serve the problematic issue of connection of branches414
in the case of ZSpheresr. If the new branch starts at a415
relatively small sphere, then the obtained branches can416
be connected in an unpredictable manner (Figure 9),417
and/or can have unwanted shape, such as flat triangle-418
like shape at the connection (Figure 8). In these cases419
our software provides a more natural connecting patch.420
In case of SporeTM, the other alternative of sphere based421
modeling tools, the smooth connection of branches is422
not everywhere solved in a satisfactory way, the surface423
can have crisps or sharp edges at this point (see Fig-424
ure 10), while our method can provide smooth connec-425
tion of dierent branches.426
Our method can also handle several branches of dif-427
ferent size and shape, multiple connections, spheres428
with neighbours having significantly dierent radius, as429
well as neighbours intersecting each other, see Figure 11430
and Figure 12.431
6. Conclusion432
Sphere based modeling is a real alternative of point433
based techniques in fast, interactive surface design. As434
one can observe using available methods and softwares,435
the two crucial steps of this paradigm are the smooth436
blending of two neighbouring spheres and the correct437
connection of branches. Both are solved in this paper,438
with sucient results in those cases as well where ex-439
isting methods provide less perfect solutions.440
Directions of future improvement of this method may441
include the optimization of the software, and the incor-442
poration of further user-friendly tools.443
Figure 8: Given a simple join in ZSpheresr(above and middle) with
small sphere at the connection, the resulted ZSpheresrsurface can
have unwanted triangle-shape flat part at the connection (middle).
With similar input, our method provides more natural connection of
branches (below).
Figure 9: If the radii of spheres are drastically changed around the
connection, ZSpheresrsurfaces (left) can have unpredictable be-
haviour at the join. Our method (right) can handle this problem
(branch connection with smoothing).
Figure 10: In SporeTM, connection of branches are less attractively
solved (above). Our software provides smoother (G1continuous) con-
nection (below).
This research was supported by the European Union445
and the State of Hungary,co-financed by the Eu-446
ropean Social Fund in the framework of T ´
4.2.4.A/2-11-1-2012-0001 ‘National Excellence Pro-448
[1] L. Kavan, S. Collins, J. ˇ
ara, C. O’Sullivan, Geometric skinning451
with approximate dual quaternion blending, ACM Transactions452
on Graphics (TOG) 27 (2008) 105.453
[2] K. S. Karan, Skinning characters using surface-oriented free-454
form deformations, in: In Graphics Interface 2000, 2000, pp.455
[3] G. Slabaugh, G. Unal, T. Fang, J. Rossignac, B. Whited, Vari-457
ational skinning of an ordered set of discrete 2d balls, Lecture458
Notes on Computer Science 4795 (2008) 450–461.459
[4] G. Slabaugh, J. Rossignac, B. Whited, T. Fang, G. Unal, 3d ball460
skinning using pdes for generation of smooth tubular surfaces,461
Computer-Aided Design 42 (2010) 18–26.462
[5] J. Rossignac, B. Whited, G. Slabaugh, T. Fang, G. Unal,463
Pearling: 3d interactive extraction of tubular structures from464
volumetric images, in: in: MICCAI Workshop: Interaction in465
Medical Image Analysis and Visualization, 2007.466
[6] J. Rossignac, J. J. Kim, Helsweeper: Screw-sweeps of canal sur-467
faces, Computer-Aided Design 44 (2012) 113–122.468
[7] Pixologic::ZBrush::Features,
features/ZSpheres/, [Accessed November 29, 2013.].470
[8] The Ocial SporeTM and Spore TM Creature Creator Site, www.471, [Accessed November 29, 2013.].472
[9] R. Kunkli, M. Homann, Skinning of circles and spheres, Com-473
puter Aided Geometric Design 27 (2010) 611–621.474
[10] M. Paluszny, F. Tovar, Envelopes and tubular splines, Mathe-4 75
matics and Computers in Simulation 79 (2009) 1971–1976.476
[11] K. Karciauskas, R. Krasauskas, Rational rolling ball blending477
of natural quadrics, Mathematical Modelling and Analysis 5478
(2000) 97–107.479
[12] P. Zhou, W.-H. Qian, Blending multiple parametric normal480
ringed surfaces using implicit functional splines and auxiliary481
spheres, Graphical Models 73 (2011) 87–96.482
[13] P. Zhou, W.-H. Qian, Gn-blending of multiple parametric nor-483
mal ringed surfaces by adding implicit closings gn-continuous484
with the surfaces, Computers and Graphics 36 (2012) 297–304.485
[14] K. Hui, Y. Lai, Smooth blending of subdivision surfaces,486
Computer-Aided Design 38 (2006) 786–799.487
[15] R. Tornai, Measurement of visual smoothness of blending488
curves, Annales Mathematicae et Informaticae 40 (2012) 155–489
[16] R. Kunkli, Localization of touching points for interpolation491
of discrete circles, Annales Mathematicae et Informaticae 36492
(2009) 103–110.493
Figure 11: Our presented method can also handle situations when the
radii and distance of the neighbouring spheres vary significantly, and
the neighbouring spheres can also be intersecting.
Figure 12: Our method can handle several branches and multiple con-
nections as well.
... A clear advantage of these methods is the ready-to-use final subdivision surface (now standard in animation software) but there are also drawbacks: the final surface does not necessarily touch (interpolate) the given spheres, and it can be time-consuming to create the base 40 mesh by an evolutionary approach to avoid shrinkages. Existing commercial software, such as ZSpheres R by Pixologic apply this skinning method, but with serious drawbacks, as it is discussed in [19]. A similar technique is applied for simplification of existing structures in [20]. ...
... Some of them also use evolutionary, iterative approach to find the optimal skin [15,21,22,23], however, these methods are not only time-consuming, but they also depend on the initial position of the skin and may fall into local minima. Other 50 methods use direct real-time computation of the skin, where the central problem is to find the most appropriate touching points on the given circles (in 2D) or touching circles on the given spheres (in 3D) along which the skin will touch the given dataset [1,2,19,24,25]. ...
... Branching in 2D -skinning a complex set of circles with our new method.Based on[1], Bana et al.[19] provided an algorithm for branching in 3D: they 385 define a boundary curve with the help of the touching circle on the sphere to which the branch is connected. Applying this approach, however, one can face an obstacle as a sphere often has two touching circles in our algorithm. ...
Full-text available
Recently there has been a growing interest in the topic of skinning of circles and spheres, since modeling based on these objects has been found useful in areas such as medical applications and character animation. Among others, an efficient method was presented by Kunkli and Hoffmann [1], whilst Bastl et al. also provided an effective skinning algorithm [2]. In this study, we outline the major advantages and disadvantages of these methods, and we show that there are major insufficiencies in [2] in terms of dynamic modeling. We provide a new, improved skinning technique, which preserves the advantages of the two aforementioned algorithms and gives a solution to their arisen problems: it can be used for real-time modeling due to the smooth alteration of skins, and provides good results even in extreme cases. We overcome the problem of self-intersections, and we extend the method to branched systems of circles and spheres.
... [19] and references therein. Due to its technical importance, skinning has attracted the geometric modelling community in recent years and one can find several papers on this topic, see [20,21,22,23]. One of the application areas is computer animation: given a skeletal pose, skinning algorithms are responsible for deforming the geometric skin to respond to the motion of the underlying skeleton. ...
... β i , γ i shall be computed to satisfy conditions (22). Since it is enough to choose arbitrary three equations for each identity (22), cf. ...
... β i , γ i shall be computed to satisfy conditions (22). Since it is enough to choose arbitrary three equations for each identity (22), cf. (17), we solve for each i ∈ {1, ..., n} the following two systems of three linear equations: ...
Full-text available
We continue the study of rational envelope (RE) surfaces. Although these surfaces are parametrized with the help of square roots, when considering an RE patch as the medial surface transform in 4D of a spatial domain it yields a rational parametrization of the domain's boundary, i.e., the envelope of the corresponding 2-parameter family of spheres. We formulate efficient algorithms for G1 data interpolation using RE surfaces and apply the developed methods to rational skinning and blending of sets of spheres and cones/cylinders, respectively. Our results are demonstrated on several computed examples of skins and blends with rational parametrizations.
... The resulting skinning curves bound the input circles and create an aesthetic shape for modeling purposes. In the last decade, several skinning methods has been developed [14][15][16][17]. The idea has been extended to branched systems of circles to obtain more complex shapes, and also to 3D, introducing the skinning of simple and branched system of spheres. ...
Full-text available
Minkowski Pythagorean hodograph curves are widely studied in computer-aided geometric design, and several methods exist which construct Minkowski Pythagorean hodograph (MPH) curves by interpolating Hermite data in the R^{2,1} Minkowski space. Extending the class of MPH curves, a new class of Rational Envelope (RE) curve has been introduced. These are special curves in R^{2,1} that define rational boundaries for the corresponding domain. A method to use RE and MPH curves for skinning purposes, i.e., for circle-based modeling, has been developed recently. In this paper, we continue this study by proposing a new, more flexible way how these curves can be used for skinning a discrete set of circles. We give a thorough overview of our algorithm, and we show a significant advantage of using RE and MPH curves for skinning purposes: as opposed to traditional skinning methods, unintended intersections can be detected and eliminated efficiently.
... The idea can also be extended to three-dimensional (3D) modeling, leading to the skinning of an input set of spheres. In recent years, several skinning methods have been developed by Kunkli and Hoffmann (2010), Bana et al. (2014), Bastl et al. (2015), and Kruppa et al. (2019). In addition, skinning can be applied in various fields like computer animation (e.g., ZSpheres R (Pixologic Inc., 2020) and Spore TM (Electronic Arts Inc., 2008)), molecular biology, and medical image processing (Rossignac et al., 2007;Slabaugh et al., 2008Slabaugh et al., , 2010Piskin et al., 2017). ...
Full-text available
Special curves in the Minkowski space such as Minkowski Pythagorean hodograph curves play an important role in computer-aided geometric design, and their usages are thoroughly studied in recent years. Bizzarri et al. (2016) introduced the class of Rational Envelope (RE) curves, and an interpolation method for G ¹ Hermite data was presented, where the resulting RE curve yielded a rational boundary for the represented domain. We now propose a new application area for RE curves: skinning of a discrete set of input circles. We show that if we do not choose the Hermite data correctly for interpolation, then the resulting RE curves are not suitable for skinning. We introduce a novel approach so that the obtained envelope curves touch each circle at previously defined points of contact. Thus, we overcome those problematic scenarios in which the location of touching points would not be appropriate for skinning purposes. A significant advantage of our proposed method lies in the efficiency of trimming offsets of boundaries, which is highly beneficial in computer numerical control machining.
... The idea can also be extended to 3D, leading to the skinning of an input set of spheres. In recent years, several skinning methods have been published, such as [11,12,13,14]. ...
Special curves in the Minkowski space such as Minkowski Pythagorean hodographs play an important role in Computer Aided Geometric Design, and their usages have been thoroughly studied in the recent years. Also, several papers have been published which describe methods for interpolating Hermite data in R2,1 by MPH curves. Bizzarri et al.introduced the class of RE curves and presented an interpolation method for G1 Hermite data, where the resulting RE curve yields a rational boundary for the represented domain. We now propose a new application area for RE curves: skinning of a discrete set of input circles. We find the appropriate Hermite data to interpolate so that the obtained rational envelope curves touch each circle at previously defined points of contact. This way we overcome the problematic scenarios when the location of the touching points would not be appropriate for skinning purposes.
... Canal surfaces are defined as envelopes of spheres, as shown in Fig. 1. They are commonly used as blending surfaces, either by using contour curves [27] or by joining spheres that can be manipulated by the designer [28]. ...
... Consider a circular strip supporting a cyclidic net such as the one displayed in The definition of properly parametrised envelopes of spheres is still a topic of research [20]. In the example of Figure 4.8, eight circles in the same plane are used to generate a canal surface. ...
Full-text available
The last decades have seen the emergence of non-standard architectural shapes. Designers find often themselves helpless with the geometrical complexity of these objects. Furthermore, the available tools dissociate shape and structural behaviour, which adds another complication. This dissertation takes the point of view based on invariance under geometrical transformations, and studies several strategies for fabrication-aware shape modelling. Three technological constraints have been identified and correspond to three independent contributions of this thesis. The repetition of nodes is studied via transformations by parallelism. They are used to generalise surfaces of revolution. A special parametrisation of moulding surfaces is found with this method. The resulting structure has a high node congruence. Cyclidic nets are then used to model shapes parametrised by their lines of curvature. This guarantees meshing by planar panels and torsion-free beam layout. The contribution of this dissertation is the implementation of several improvements, like doubly-curved creases, a hole-filling strategy that allows the extension of cyclidic nets to complex topologies, and the generation of a generalisation of canal surfaces from two rail curves and one profile curves. Finally, an innovative method inspired by descriptive geometry is proposed to generate doubly-curved shapes covered with planar facets. The method, called marionette technique, reduces the problem to a linear problem, which can be solved in real-time. A comparative study shows that this technique can be used to parametrise shape optimisation of shell structures without loss of performance compared to usual modelling technique. The handling of fabrication constraints in shape optimisation opens new possibilities for its practical application, like gridshells or plated shell structures. The relevance of those solutions is demonstrated through multiple case-studies.
Full-text available
Skinning of an ordered set of discrete circles is discussed in this paper. By skinning we mean the geometric construction of two G1 continuous curves touching each of the circles at a point, separately. After precisely defining the admissible configuration of initial circles and the desired geometric properties of the skin, we construct the touching points and tangents of the skin by applying classical geometric methods, like cyclography and the ancient problem of Apollonius, finding touching circles of three given circles. Comparing the proposed method to a recent technique (Slabaugh et al., 2008, 2010), larger class of admissible data set and fast computation are the main advantages. Spatial extension of the problem for skinning of spheres by a surface is also discussed in detail.
Full-text available
Interpolation of an ordered set of discrete circles is discussed in this paper. By interpolation here we mean the construction of two curves which touch each of the circles and provide visually satisfactory result. Existing method frequently fail, and the crucial problem is to find good touching points on the circles. In this paper we will consider two possible solutions with pros and drawbacks.
Conference Paper
Full-text available
This paper considers the problem of computing an interpolating skin of a ordered set of discrete 2D balls. By construction, the skin is constrained to be C 1 continuous, and for each ball, it touches the ball at a point and is tangent to the ball at the point of contact. Using an energy formulation, we derive differential equations that are designed to minimize the skin’s arc length, curvature, or convex combination of both. Given an initial skin, we update the skin’s parametric representation using the differential equations until convergence occurs. We demonstrate the method’s usefulness in generating interpolating skins of balls of different sizes and in various configurations.
Full-text available
Envelopes of monoparametric families of spheres determine canal surfaces. In the particular case of a quadratic family of spheres the envelope is an algebraic surface of degree four that is composed of circles. We are interested in the construction of smooth tubular splines with pieces of envelopes of quadratic families of spheres. We present a scheme for the construction of a tubular spline that interpolates a sequence of circles in 3D. We control the shape near each circle by prescribing a sphere that contains it and is tangent to the spline. We offer further shape handles for local control through weights that are assigned to the controlling spheres.
This paper considers the visual smoothness of interpolating curves. It examines skinning algorithms in detail. Especially the 2D ball skinning algorithms are covered. Slabaugh et al. introduced an energy function [G. Slabaugh, G. Unal, T. Fang, J. Rossignac and B. Whited, “Variational skinning of an ordered set of discrete 2D balls”, Lect. Notes Comput. Sci. 4795, 450–461 (2008)] and R. Kunkli defined a process to find the touching points [Ann. Math. Inform. 36, 103–110 (2009; Zbl 1212.68373)] and made an elegant skinning method with M. Hoffmann based on classical geometry [Comput. Aided Geom. Des. 27, 611–621 (2010; Zbl 1205.65039)]. I will try to give a simple metric for visual smoothness based on the number of direction change of the yielded interpolation curve. Minimizing this metric will give the best visual result.
We construct a blending surface of two natural quadrics using rational variable rolling ball approach, i.e. as a canal surface with a rational spine curve and a rational radius. All general positions of the given quadric surfaces are considered. The proposed construction is Laguerre invariant. In particular, the blending surface has rational offset of the same degree.
Skinning of skeletally deformable models is extensively used for real-time animation of characters, creatures and similar objects. The standard solution, linear blend skinning, has some serious drawbacks that require artist intervention. Therefore, a number of alternatives have been proposed in recent years. All of them successfully combat some of the artifacts, but none challenge the simplicity and efficiency of linear blend skinning. As a result, linear blend skinning is still the number one choice for the majority of developers. In this article, we present a novel skinning algorithm based on linear combination of dual quaternions. Even though our proposed method is approximate, it does not exhibit any of the artifacts inherent in previous methods and still permits an efficient GPU implementation. Upgrading an existing animation system from linear to dual quaternion skinning is very easy and has a relatively minor impact on runtime performance.
We present an approach to compute a smooth, interpolating skin of an ordered set of 3D balls. By construction, the skin is constrained to be C1 continuous, and for each ball, it is tangent to the ball along a circle of contact. Using an energy formulation, we derive differential equations that are designed to minimize the skin’s surface area, mean curvature, or convex combination of both. Given an initial skin, we update the skin’s parametric representation using the differential equations until convergence occurs. We demonstrate the method’s usefulness in generating interpolating skins of balls of different sizes and in various configurations.
First presented by Hartmann, closings (implicit surfaces sealing the inlets or outlets of pipes) can bridge the gap between parametric pipe surfaces and implicit functional splines (a powerful tool for blending several implicit surfaces). This paper proposes auxiliary spheres instead of the initial pipe surfaces as the base surfaces in constructing closings, so that the closing based algorithm of two steps (constructing a closing for each pipe and blending the closings) can G1-continuously connect multiple parametric normal ringed surfaces with freeform directrices and variable radii. The basic theory of an auxiliary sphere tangent to the normal ringed surface is addressed. Either one or two (yielding more design parameters) auxiliary spheres can be added. How the parameters influence the closing configuration is discussed. In addition, the blending shape can be optimized by genetic algorithm after assigning some fiducial points on the blend. The enhanced algorithm is illustrated with four practical examples.