Content uploaded by Miklós Hoffmann

Author content

All content in this area was uploaded by Miklós Hoffmann on Jan 30, 2016

Content may be subject to copyright.

Journal for Geometry and Graphics

Volume 19 (2015), No. 2, 189–200.

Blending of Spheres by Rotation-Minimizing

Surfaces

Mikl´os Hoﬀmann1, Juan Monterde2, Ede Troll1,

1Institute of Mathematics and Computer Science, K´aroly Eszterh´azy University

Le´anyka str. 4, H-3300 Eger, Hungary

emails: {hofi, troll.ede}@ektf.hu

2Dep. de Geometria i Topologia, Universitat de Val`encia

Avd. Vicent Andr´es Estell´es, 1, E-46100-Burjassot (Val`encia), Spain

email: monterde@uv.es

Abstract. Computation of the blending surface of two given spheres is discussed

in this paper. The blending surface (or skin), although not uniquely deﬁned in

the literature, is normally required to touch the given spheres in plane curves

(i.e., in circles). The main advantage of the presented method over the existing

ones is the minimization of unwanted distortions of the blending surface. This is

achieved by the application of rotation-minimizing frames for the transportation

of a vector along a given curve, which technique, beyond its theoretical interest,

helps us to determine the corresponding points along the touching circles of the

two spheres. Parametric curves of the blending surface are also deﬁned by the

help of the rotation minimizing transportation.

Key Words: sphere based surface design, skinning, blending surface, rotation

minimizing frame

MSC 2000: 68U05, 65D17, 53A04

1. Introduction and related work

The problem of joining spheres by a surface being tangent to them is considered by several

authors using various approaches. A common view of this problem in the literature is to ﬁnd

a blending surface or skin, touching the spheres along circles, where the tangent cone of the

sphere along this circle contains the end tangents of the blending surface [7, 9, 10]. This

problem is of essential importance in newly emerged animation design software tools, such as

ZSpheres R

or SporeTM , where the point-based design is altered by sphere-based construction,

but it also appears in medical applications [9]. Although with somehow similar results, the

well-studied ringed surfaces and canal surfaces (see, e.g., [13, 14]) have diﬀerent input data:

ISSN 1433-8157/$ 2.50 c

2015 Heldermann Verlag

190 M. Hoﬀmann, J. Monterde, E. Troll: Blending of Spheres by Rotation-Minimizing Surfaces

while our approach starts from a ﬁnite set of spheres, in case of ringed and canal surfaces

a continuous function is required. The ﬁnal skinning surface consists of patches connecting

pairs of spheres [7], thus here we consider a subproblem of connecting two spheres where

touching cones are also provided (cf. Figure 1), [8].

Dupin cyclides and their generalizations have also been applied to this problem (see, e.g.,

[8, 11, 16] and references therein) with a deep geometric view, but also with restrictions on the

positions of the initial data: in case of a single cyclide surface the axes of the touching cones

must be coplanar, while in case of two joining cyclides the geometric form of the blending

surface has not always been satisfactory, since the two cyclides may form unnecessary large

twist for some initial positions. Similar geometric restrictions to the initial data are supposed

in [15], the axes of the given cylinders must be coplanar. In our approach the axes of the

touching cones can be in arbitrary position.

An iterative method of skinning has been introduced in [10] and [9], where, starting from

an initial skin, an energy function is minimized during the iterations in order to reach the

optimal surface. This method has certain advantages from the viewpoint of optimization, but

it is also quite sensitive for the initial position of the skin, and due to the iterative nature it

is quite slow with no proven convergence.

Another ﬁeld of classical geometry has been used in [7], where a set of spheres has been

blended by surface patches. In this approach the touching circles are computed with the help

of Apollonian circles, and the blending surface is formed by cubic Hermite interpolants.

Although this method works for almost all positions of the initial data, the ﬁnal surface,

just as in case of all the above mentioned methods, may suﬀer from distortions due to the

unwanted rotation along the central (spine) curve. The source of this distortion is the fact that

the pairing of corresponding points on the two touching circles is not solved in a suﬃcient

way. To avoid the unnecessary rotation of the blending surface along the spine curve, a

straightforward idea is to apply the recent results of rotation-minimizing frames. These

frames, originally developed as an alternative of the well-known Frenet frames of parametric

curves, were also known as relatively parallel adapted frames or Bishop frames [1]. They

can provide a suﬃcient solution of minimizing this kind of distortion along a curve ([5, 6]).

The rotation-minimizing frames have been also applied in constructing surfaces in [12], but

that approach provides only an approximate solution, moreover it requires a continuous one-

parameter set of spheres instead of discrete input data.

The aim of this paper is at providing a method to blend two spheres by a rotation-

minimizing blending surface. The method works for a wide range of initial data and can be

computed in seconds, although not necessarily in real time. The surface is rotation-mini-

mizing in a sense that the parametric curves of the surface have no distortion comparing

to the corresponding rotation-minimizing frame along the spine curve. In Section 2 of this

paper the problem is precisely formulated, together with the overview of the method provided

in [7]. The basic notations and the necessary computational methods are summarized in

terms of rotation-minimizing frames in Section 3, where we also deﬁne the notion of rotation-

minimizing transportation along a curve. The solution and the detailed computation are

provided in Section 4.

2. The problem

Suppose that two spheres are given in R3. For our problem it is enough to consider the cones

which touch the spheres along two arbitrary circles (pi, ri) and (pf, rf), having centers piand

M. Hoﬀmann, J. Monterde, E. Troll: Blending of Spheres by Rotation-Minimizing Surfaces 191

p

i

r

i

r

f

p

f

xf

xi

v

i

v

f

Figure 1: Visualization of the statement of the problem. The initial data contain

two spheres and their touching cones.

pfand radii riand rf, respectively. Let xibe the apex of the tangent cone touching the ﬁrst

sphere along the circle (pi, ri), while xfis the apex of the tangent cone touching the second

sphere along the circle (pf, rf) (see Figures 1 and 5).

Further, let tiand tfbe vectors from the center of the given circles, parallel to the axes

of the touching cones, that is citi=xi−piand cftf=xf−pffor some ci, cf∈R\ {0}.

Our aim is to deﬁne a surface s(θ, t) touching the given spheres at the given circles with

the least possible distortion. It is constructed in a way that the parametric curve s(θ∗, t) which

belongs to a ﬁxed value θ∗will connect a point qiof the ﬁrst circle and the corresponding

point qfof the second circle, while tangent vectors of the curve in these points will be parallel

to the corresponding generatrix of the tangent cone, that is

s(θ∗,0) = qi,s(θ∗,1) = qf,

∂s

∂t (θ∗,0) = vi,∂s

∂t (θ∗,1) = vf

where

vi=aixi−qi,vf=afxf−qf(1)

with ai, af∈R+.

The key question is: which point qfof the second circle should belong to the initial point

qi? In [7] a fast and simple algorithm is provided to compute the corresponding points. By

deﬁning an arbitrary direction enot parallel to tiand tf, the two corresponding points are

deﬁned by the vectors e×tiand e×tf, more precisely

qi=pi±ri

e×ti

ke×tik,qf=pf±rf

e×tf

ke×tfk,

where the sign of the latter terms depends on the measures of the angles between the vectors

tiand pf−pi, and tfand pf−pi, respectively. If the angle is greater than π/2, then the

192 M. Hoﬀmann, J. Monterde, E. Troll: Blending of Spheres by Rotation-Minimizing Surfaces

qi

qf

Figure 2: A surface blending the given spheres touching them at the given circles.

sign is negative, otherwise it is positive. Further pairs of points are obtained by the rotation

of the original pairs along the circles.

Note, that the choice of ehas not been uniquely deﬁned in this algorithm. A similar,

even more evident choice of the two corresponding points can be deﬁned simply by the vector

ti×tfas

qi=pi+ri

ti×tf

kti×tfk,qf=pf+rf

ti×tf

kti×tfk.

This straightforward but somehow ad hoc selection of corresponding points of the circles

works in a satisfactory way for the cases, when the vectors ti,tfand pf−pi, that is the

axes of the touching cones are parallel or intersecting lines. In most ﬁgures of [7] this is the

case. However, if the positions of the touching circles diﬀer from this case, that is the axes of

the touching cones are skew lines, the above mentioned method of mapping of points cannot

be justiﬁed. In fact, the blending surface is heavily aﬀected by the choice of corresponding

points and can have a kind of distortion in some cases, as it can be seen in Figure 3. Our

aim is to provide a theoretically founded method of ﬁnding the most suitably corresponding

pairs of points.

3. Rotation minimizing frames

In this section we brieﬂy overview the basic concept of Rotation Minimizing Frames (RMF in

short) based on [5, 6], and we deﬁne the rotation minimizing transportation of a vector along

the curve. Throughout this session we use the well known Frenet-frame denoted by {t,n,b}.

Deﬁnition 1. Given a regular curve α: [0,1] →R3, a positively oriented orthonormal frame

{w0,w1,w2}along the curve is called rotation-minimizing frame (RMF) if

1. w0=t,

2. w1

′is parallel to t.

M. Hoﬀmann, J. Monterde, E. Troll: Blending of Spheres by Rotation-Minimizing Surfaces 193

Figure 3: The eﬀect of diﬀerent choices of corresponding initial points on the circles

deeply aﬀect distortions of the surfaces.

Remark 1.The second condition is equivalent to ask for ˙

w1being parallel to t, where the dot

denotes arc-length derivative.

3.1. Transportation along a curve using a RMF

Given a unit vector wi, orthogonal to α′(0), there is a unique rotation-minimizing frame along

the curve α, denoted by {t,w1,w2}, such that

w1(0) = wi.

Let us recall how to compute it.

w1(t) = cos θ(t)n(t)−sin θ(t)b(t),(2)

194 M. Hoﬀmann, J. Monterde, E. Troll: Blending of Spheres by Rotation-Minimizing Surfaces

where

θ(t) = θ0−Zt

0

τ(s)ds, (3)

θ0is the initial angle between wi=qi−α(0) and the binormal vector to the curve α(t) at

α(0), b(0), and τdenotes the torsion of the curve α. The arc-length parameter is denoted

by s. If another parameter is used for the curve α, then

Zt

0

τ(s)ds =Zt

0

τ(u)||α′(u)|| du.

The rotation-minimizing transportation (RM-transportation for short) to α(1) of the vector

wialong the curve αuses a rotation-minimizing frame as the vector w1(1). Notice that

||w1(1)|| = 1 and w1(1) ⊥α′(1).

b(0)

b(1)

q

w

w

q

i

i

f

f

0

0

+

Figure 4: The rotation-minimizing map qi→qfbetween the perpendicular

unit circles at the end points of the curve α(t).

Therefore, we can deﬁne a map between the perpendicular unit circles at the end points of

the curve α. Given a point qiin the unit circle on the normal plane to the curve at α(0), let

us consider the vector wi=qi−α(0), then qf=α(1) + w1(1). The angle θ+(see Figure 4)

is deﬁned as

θ+=−Z1

0

τ(u)||α′(u)|| du.

Notice that in this way we can control which point qfin the second circle is associated with

a given point qiin the ﬁrst circle, while the tangent vectors of the parameter curve of the

surface joining qiand qfare inherited from the touching cones.

4. The solution

In order to apply the rotation-minimizing frame method, at ﬁrst we deﬁne a spine curve α(t)

of the blending surface. For the notations see Figure 5.

M. Hoﬀmann, J. Monterde, E. Troll: Blending of Spheres by Rotation-Minimizing Surfaces 195

Let α: [0,1] →R3be a regular curve satisfying the C1-Hermite conditions:

α(0) = pi,α(1) = pf,

α′(0) = ti,α′(1) = tf.

Let wi=qi−pi

ri

and let wfbe the RM-transportation to α(1) of the vector wi.

Being rfthe radius of the second circle, let us deﬁne the corresponding point qfas

qf=pf+rfwf.

We construct the parametric curve s(θ0, t) = β(t): [0,1] →R3such that

β(0) = qi,β(1) = qf,

β′(0) = vi,β′(1) = vf,(4)

hold, and further on the curve follows the RM-transportation, that is for any t∈[0,1], the

vector β(t)−α(t) is parallel to w1(t), where w1(t) is the actual position of the RM-transported

vector.

The last condition implies that there exists a function λ: [0,1] →Rsuch that

β(t) = α(t) + λ(t)w1(t).

Therefore

β′(t) = α′(t) + λ′(t)w1(t) + λ(t)w1

′(t) = ||α′(t)|| (1 + µ(t)λ(t)) t(t) + λ′(t)w1(t),

pp

pp

ii

xx

ii

qq

q

q

ii

f

f

f

f

f

f

f

f

f

f

f

f

x

x

tt

t

t

ii

ww

w

w

ii

vv

v

v

i

i

t( ) t( )

tt

a( ) a( )

tt

b( )

b( )

t

t

wt

wt

1

1

( )

( )

Figure 5: Visualization of various notations in two diﬀerent positions of initial data

(with unit spheres). The spine curve α(t) (purple) and one of the parameter curves β(t)

(black) can also be seen.

196 M. Hoﬀmann, J. Monterde, E. Troll: Blending of Spheres by Rotation-Minimizing Surfaces

where we have used that, since {t,w1,w2}is a rotation-minimizing frame,

˙

w1(s) = µ(s)t(s)

or, equivalently,

w1

′(t) = ||α′(t)||µ(t)t(t).

Let us compute explicitly the function µ(s) = h˙

w1(s),t(s)i. From (2) we have

˙

w1=−˙

θsin(θ)n+ cos(θ)˙

n−˙

θcos(θ)b−sin(θ)˙

b

=−˙

θsin(θ)n+ cos(θ)(−κt−τb)−˙

θcos(θ)b−sin(θ)τn

=−cos(θ)κt,

where we have applied that ˙

θ=−τ(see (3)). Therefore,

µ(s) = −cos(θ(s))κ(s).(5)

Let us write conditions (4) in terms of the function λ(t).

β(0) = α(0) + λ(0)w1(0)

=pi+λ(0)wi

=pi+λ(0)qi−pi

ri

.

Since we asked for β(0) = qi=pi+ (qi−pi), then

λ(0) = ri.(6)

Analogously,

λ(1) = rf.(7)

More conditions on λcan be obtained through the derivative of the curve β:

β′(0) = ||α′(0)|| (1 + µ(0)λ(0)) t(0) + λ′(0)w1(0)

= (1 + µ(0)ri)ti+λ′(0)qi−pi

ri

.

Since β′(0) = vi=ai(qi−xi) (see Eqs. (4) and (1)), then

λ′(0) = −airi(8)

and

1 + µ(0)ri=aici.

According to Eq. (5), µ(0) = −cos(θ0)κ(0). Therefore,

ai=1

ci1−cos(θ0)κ(0)ri.(9)

This means that the length of the initial tangent vector to the curve βdepends on θ0, κ(0)

and ri. Analogously,

λ′(1) = −afrf(10)

and

af=1

cf1−cos(θ(1))κ(1)rf.(11)

M. Hoﬀmann, J. Monterde, E. Troll: Blending of Spheres by Rotation-Minimizing Surfaces 197

Figure 6: Three positions of initial data, each with the spine curve (left) and the

computed surface (right).

Remark 2.One restriction must be considered: Since both aiand afmust be positive, the

spine curve has to be such that

κ(0)ri≤1,and κ(1)rf≤1.

Such conditions can be satisﬁed through a convenient choice of the initial and ﬁnal vectors,

α′(0) = tiand α′(1) = tfof the spine curve. A simple computation shows that the curvature

of the spine curve at the initial point is

κ(0) = 2 ||ti×(3(pf−pi)−tf)||

||ti||3.

Short length initial and ﬁnal vectors could produce spine curves with large initial and ﬁnal

curvatures. Curvatures not satisfying the restrictions at the endpoints of the spine curve may

198 M. Hoﬀmann, J. Monterde, E. Troll: Blending of Spheres by Rotation-Minimizing Surfaces

yield self-intersections of the resulting surface, as it can be seen in Figure 7. In the special

case where the center of one sphere is in the other sphere and the angle between the planes of

touching circles is larger than 45◦the necessarily restricted spine curve cannot be computed

and thus our method cannot provide the rotation minimizing blending surface.

Figure 7: Curvatures not satisfying the restrictions at the endpoints of the spine curve

may yield self-intersections of the resulting surface (right). Smooth blending surface can

be obtained for the same initial data with an appropriate choice of spine curve (left).

The easiest solution for function λis the Hermite solution of Eqs. (6), (7), (8), (10):

λ(0) = ri, λ(1) = rf, λ′(0) = −airi, λ′(1) = −afrf,

where aiand afare given by Eqs. (9) and (11). This is

λ(t) = rft2(3 −2t+af(1 −t)) −ri(−1 + t)2(−1 + (−2 + ai)t).

While the results of our method for various initial data can be seen in Figure 6, one can also

observe the advantages of this technique in the comparison of the results of the method of [7]

and the provided solution (Figure 8). The earlier method may yield unnecessary distortions

of the surface, while our rotation minimizing surface has no such distortion. In the sense of

rotation minimization, our blending surface is optimal.

5. Conclusion

A novel method of skinning of spheres has been presented where the key step is the rotation

minimizing transportation of a vector along the spine curve. By the help of this technique

the corresponding points of the touching circles are determined and thus the resulted surface

has no unwanted distortions. Due to the time consuming integration of the torsion during

the computation, a couple of seconds is required to compute the skin, that is, no real time

computation is possible, in which sense further improvements may be necessary.

M. Hoﬀmann, J. Monterde, E. Troll: Blending of Spheres by Rotation-Minimizing Surfaces 199

Figure 8: Comparison of results of the earlier method (left) and our method (right).

Surfaces at the right side have visibly less distorted shape.

Acknowledgement

The ﬁrst author would like to thank the Universitat de Val`encia for the warm hospitality

during his stay. The second author has been partially supported by grant MTM2009-08933

from the Spanish Ministry of Science and Innovation.

References

[1] L.R. Bishop:There is more than one way to frame a curve. Amer. Math. Monthly 83,

246–251 (1975).

[2] R.T. Farouki:The conformal map z→z2of the hodograph plane. Comput. Aided

Geom. Design 11, 363–390 (1994).

200 M. Hoﬀmann, J. Monterde, E. Troll: Blending of Spheres by Rotation-Minimizing Surfaces

[3] R.T. Farouki:Pythagorean-Hodograph Curves. Algebra and Geometry inseparable.

Springer, Berlin 2008.

[4] R.T. Farouki, T. Sakkalis:Pythagorean hodographs. IBM Journal of Research and

Development 34/5, 736–752 (1990).

[5] R.T. Farouki, C.Y. Han:Rational approximation schemes for rotation-minimizing

frames on Pythagorean-hodograph curves. Comput. Aided Geom. Design 20, 435–454

(2003).

[6] W. Wang, B. J¨

uttler, D. Zheng, Y. Liu:Computation of Rotation Minimizing

Frames. ACM Transactions on Graphics 27, article 2, (2008).

[7] R. Kunkli, M. Hoffmann:Skinning of circles and spheres. Comput. Aided Geom.

Design 27, 611–621 (2010).

[8] C.K. Shene:Blending two cones with Dupin cyclides. Comput. Aided Geom. Design

15, 643–673 (1998).

[9] G. Slabaugh, B. Whited, J. Rossignac, T. Fang, G.B. Unal:3D ball skinning

using PDEs for generation of smooth tubular surfaces. Computer-Aided Design 42, 18–26

(2010).

[10] G. Slabaugh, G.B. Unal, T. Fang, J. Rossignac, B. Whited:Variational Skin-

ning of an Ordered Set of Discrete 2D Balls. Proc. of GMP 2008, 450–461 (2008).

[11] M. Paluszny, W. Boehm:General cyclides. Comput. Aided Geom. Design 15, 699–

710 (1998).

[12] H.I. Choi, S.-H. Kwon, N.-S. Wee:Almost rotation-minimizing rational

parametrization of canal surfaces. Comput. Aided Geom. Design 21, 859–881 (2004).

[13] M. Bizzarri, M. L´

aviˇ

cka:On modeling with rational ringed surfaces. Computer-

Aided Design 58, 151–161 (2015).

[14] M. Bizzarri, M. L´

aviˇ

cka, J. Vrˇ

sek:Canal surfaces with rational contour curves

and blends bypassing the obstacle. Computer-Aided Design 64, 55–67 (2015).

[15] K. Maleˇ

cek, Z. ˇ

Sibrava:Blending Circular Pipes with a Cyclic Surface. J. Geometry

Graphics 10, 99–107 (2006).

[16] S. Foufou, L. Garnier:Dupin Cyclide Blends Between Quadric Surfaces for Shape

Modeling. Computer Graphics Forum 23, 321–330 (2004).

Received April 7, 2014; ﬁnal form October 14, 2015