Content uploaded by Miklós Hoffmann
Author content
All content in this area was uploaded by Miklós Hoffmann on Nov 23, 2017
Content may be subject to copyright.
KSpheres - An Efficient Algorithm for Joining Skinning Surfaces
Korn´el Banaa, Kinga Kruppaa, Roland Kunklia,∗, Mikl´os Hoffmanna,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
Abstract
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: banakori@gmail.com (Korn´el Bana),
kruppa.kinga@gmail.com (Kinga Kruppa),
kunkli.roland@inf.unideb.hu (Roland Kunkli),
hofi@ektf.hu (Mikl´os Hoffmann)
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
30
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
surfaces.39
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 different 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}(n∈N) is called admissible50
configuration if the following conditions are fulfilled:51
Preprint submitted to Computer Aided Geometric Design August 22, 2014
*Manuscript
Click here to view linked References
•si1
n
[
j=1,j,i
sj,i∈ {1,2, . . . , n}52
•si∩sj=∅,i,j∈ {1,2, . . . , n},j<{i−2,i−1,i,i+53
1,i+2}54
•if si−1∩si+1,∅, then si−1∩si+1⊂si
55
These conditions can easily be checked by simple56
computation.57
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
2
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 differential 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 affected 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 si−1,si,si+1
178
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, . . . , n−1, that is we exclude the first and the last
sphere. Consider the plane Pidetermined by the cen-
ters oi−1,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
yield
ri<
i+1
[
j=i−1
cj,i=2, .., n−1
where riis the radical center of the three consecu-189
tive circles obtained by intersecting the three spheres190
si−1,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
3
(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, . . . , n−1) 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
si−1,si,si+1touches the sphere si. It is worth mention-207
ing here that patches of Dupin cyclides defined by three208
spheres si−1,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
sn−1and 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π],t∈234
[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 wi−zi(φ) at the endpoints are in-244
herited from the touching cones of the spheres, where wi
245
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 wi−oi, or e=(wi−˜
oi)×(wi+1−˜
oi+1).258
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,
1,else
p(si)=
sD wi−oi
kwi−oik,oi+1−oi
koi+1−oikE,if i,n,
sD wi−oi
kwi−oik,oi−oi−1
koi−oi−1kE,else
where h,iis the standard inner product.262
Now let zibe defined as263
zi=˜
oi+˜ri·e×!p(si)·(wi−˜
oi)
e×!p(si)·(wi−˜
oi)
(i=1,2,...,n).
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−˜
oi).267
The tangent vectors at the endpoints are defined as
follows:
vi(φ)=2·p(si)·d(Mi,zi(φ)) ·wi−zi(φ)
kwi−zi(φ)k
and
vi+1(φ)=2·p(si+1)·d(Mi,zi+1(φ)) ·wi+1−zi+1(φ)
kwi+1−zi+1(φ)k.
Finally the blending surface patch sibetween two
neighboring spheres siand si+1is as follows
si(φ, t)=H3
0(t)zi(φ)+H3
1(t)zi+1(φ)
+H3
2(t)·vi(φ)+H3
3(t)·vi+1(φ)(1)
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
4
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 . . . , si−1,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
sections.296
4.1. The new touching circle297
Let us consider three neighbouring spheres298
si−1,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 si−1,si,pi2
303
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 n′ias 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 n′i. 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
branch.
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 different 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
5
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
n′i=hi+λ·niand hhi,nii=0,
where λ∈R.345
From equation hn′i−λ·ni,nii=0 we can easily
calculate the value of λ, so hican be determined as
hi=n′i−λ·ni. After this step hican be used to describe
vector mi:
mi
.
=˜
oi+˜ri·hi
||hi||.
Practically this is an orthogonal projection of a special
Figure 5: Constructing the center of the boundary curve.
346
representant of n′
ito the plane consisting of the circle ci
347
(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:
Li1(θ)=H3
0(t0)zi(αi+θ)+H3
1(t0)zi+1(αi+θ)+
H3
2(t0)·p(si)·2·d(Mi,zi(αi+θ)) ·wi−zi(αi+θ)
kwi−zi(αi+θ)k+
H3
3(t0)·p(si+1)·2·d(Mi,zi+1(αi+θ))·
wi+1−zi+1(αi+θ)
kwi+1−zi+1(αi+θ)k,
where t0=4q
πq(π
4)2−θ2(based on the equation
y=√r2−x2of a semicircle with radius rand centered
at the origin), θ∈h−π
4,π
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 si−1by
Li2(θ)=H3
0(1−t0)zi−1(αi+θ)+H3
1(1−t0)zi·
(αi+θ)+H3
2(1−t0)·p(si−1)·2·d(Mi−1,zi−1·
(αi+θ)) ·wi−1−zi−1(αi+θ)
kwi−1−zi−1(αi+θ)k+H3
3(1−t0)·p(si)·
2·d(Mi−1,zi(αi+θ)) ·wi−zi(αi+θ)
kwi−zi(αi+θ)k,
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.
359
As we have mentioned previously, with the help of360
the basic algorithm and the new touching circle c′
ion361
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 mi−Li1(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
6
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) ˙
zi(φ)+H3
1(t) ˙
zi+1(φ)
+H3
2(t)·˙
vi(φ)+H3
3(t)·˙
vi+1(φ)
∂
∂tsi(φ, t)=d
dt H3
0(t)zi(φ)+d
dt H3
1(t)zi+1(φ)
+d
dt H3
2(t)·vi(φ)+d
dt H3
3(t)·vi+1(φ).
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−π
4,π
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
si−1,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 different branches.426
Our method can also handle several branches of dif-427
ferent size and shape, multiple connections, spheres428
with neighbours having significantly different 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 sufficient 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
7
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).
Acknowledgement444
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 ´
AMOP447
4.2.4.A/2-11-1-2012-0001 ‘National Excellence Pro-448
gram’.449
References450
[1] L. Kavan, S. Collins, J. ˇ
Z´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
35–42.456
[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,pixologic.com/zbrush/469
features/ZSpheres/, [Accessed November 29, 2013.].470
[8] The Official SporeTM and Spore TM Creature Creator Site, www.471
spore.com, [Accessed November 29, 2013.].472
8
[9] R. Kunkli, M. Hoffmann, 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
160.490
[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.
9