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 Eﬃcient Algorithm for Joining Skinning Surfaces

Korn´el Banaa, Kinga Kruppaa, Roland Kunklia,∗, Mikl´os Hoﬀmanna,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-deﬁned 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 ﬁrst 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 predeﬁned 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 ﬁelds, 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 ﬁeld,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 Hoﬀmann)

method provides a parametric surface, skinning of a pre-24

deﬁned, ordered set of spheres. The surface can be in-25

teractively modiﬁed in real time by adjusting the posi-26

tions and radii of the spheres. New branches can also27

be added by simply deﬁning new sequences of spheres.28

The result is a piecewisely deﬁned 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 ﬁnal input of our method is a rooted tree graph in40

3D, where at each node we have a sphere. The spheres41

can have diﬀerent radii. During the modeling phase42

the graph is built from one single sequence of edges43

(spheres) and can be modiﬁed 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 deﬁned as follows.48

Deﬁnition 1. A sequence of spheres C=49

{s1,s2,s3, . . . , sn}(n∈N) is called admissible50

conﬁguration if the following conditions are fulﬁlled: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 conﬁguration described in Def.161

•the ﬁrst 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 ﬁrst 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 speciﬁc method we apply93

for our purpose is discussed brieﬂy. In Section 4, the94

creation of new branches and their connection to the95

original surface are introduced. The existing software96

Figure 1: Deﬁned 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 ﬁnal, 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 deﬁned111

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

ﬁned 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 ﬁeld 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 predeﬁned touching curves, then the12 8

touching curves of the blending surface have to be de-129

termined at ﬁrst. In our case, spheres are given without130

any additional data, thus the ﬁrst and most important131

step must be the deﬁnition 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 diﬀerential equations (PDEs) applying an iterative136

method in [4]. In this method, an initial position of137

blending surface is modiﬁed iteratively by solving an138

energy minimizing PDE. The drawbacks of this method139

are that the convergency is not proved, the ﬁnal result140

can be heavily aﬀected 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 ﬂow. In terms149

of computing time, contrary to the iterative method in150

[4], our algorithm works in real time. It provides a suf-151

ﬁcient solution also for extreme positions of spheres.152

Only some evident restrictions for the positions of the153

given spheres have to be satisﬁed, especially none of154

the spheres can be entirely covered by other spheres (for155

exact deﬁnition 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 ﬁrst 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 ﬁrst 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 ﬁnd194

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 deﬁned by three given spheres206

si−1,si,si+1touches the sphere si. It is worth mention-207

ing here that patches of Dupin cyclides deﬁned 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 satisﬁed. 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 ﬁrst 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 deﬁned 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 ﬁrst we deﬁne 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

deﬁned (φ∈[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 ﬁxed 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

ﬁned 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 deﬁned 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

deﬁned by rotating ziby angle φaround the line passing266

through ˜

oiand having direction p(si)·(wi−˜

oi).267

The tangent vectors at the endpoints are deﬁned 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 deﬁned 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 ﬁrst step is to choose the start-275

ing sphere among the existing spheres and to deﬁne 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 ﬁrst 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 ﬁt-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 diﬀerent 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 ﬁrst 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 deﬁne point mi, let nidenote the normal vector of

ci,||ni|| =1. We would like to ﬁnd 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 deﬁne 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 miﬁts 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 deﬁne 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 deﬁned

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 ﬁrst 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 ﬁrst. 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 deﬁne 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

modiﬁcation (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 ﬂat 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 diﬀerent branches.426

Our method can also handle several branches of dif-427

ferent size and shape, multiple connections, spheres428

with neighbours having signiﬁcantly diﬀerent 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 suﬃcient 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 ﬂat 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-ﬁnanced 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 Oﬃcial SporeTM and Spore TM Creature Creator Site, www.471

spore.com, [Accessed November 29, 2013.].472

8

[9] R. Kunkli, M. Hoﬀmann, 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 signiﬁcantly, and

the neighbouring spheres can also be intersecting.

Figure 12: Our method can handle several branches and multiple con-

nections as well.

9