ArticlePDF Available



Abstract and Figures

In this work we focus on function representation suitable for creating 3D freeform shapes with sketched silhouette curves. We aim at comparison of two approaches for sketch-based modeling, namely the skeleton-based convolu-tion surfaces and variational implicit surfaces. Both methods are extended to handle smooth set theoretic operations between components defined by sketching silhouette curves on different projection planes. Our approach includes additional extensions to sketch-based systems like automatic skeleton generation that can be directly used for object animation, carving operation, creating surfaces with handles and surface texturing.
Content may be subject to copyright.
Zuzana K´
Center for Machine Perception, Department of Cybernetics
Faculty of Electrical Engineering, Czech Technical University in Prague, Czech Republic
Roman ˇ
Faculty of Natural Sciences, University of Saint Cyril and Metod
Trnava, Slovakia Nam. J. Herdu 2, 917 01 Trnava, Slovak Republic
In this work we focus on function representation suitable for creating 3D freeform shapes with sketched silhouette
curves. We aim at comparison of two approaches for sketch-based modeling, namely the skeleton-based convolu-
tion surfaces and variational implicit surfaces. Both methods are extended to handle smooth set theoretic operations
between components defined by sketching silhouette curves on different projection planes. Our approach includes
additional extensions to sketch-based systems like automatic skeleton generation that can be directly used for
object animation, carving operation, creating surfaces with handles and surface texturing.
Sketching is a very natural process for most people, it makes the design faster and intuitive. In this work we focus
on designing a 3D freeform shape from sketched silhouette curves supporting natural human abilities and offering
the rich expression afforded by pen movements.
First freeform sketched-based modeling system Teddy [4] used polygonal mesh as geometric representation. In
recent years it has been, in most of the freeform user interfaces, replaced by implicit surface representation because
polygonal representation has limitations on surface smoothness and fairness. Implicit functions allow to introduce
new interesting operations on freeform models like blending union or carving that are very difficult to implement
with polygonal meshes.
Owada et al. [6] proposed a similar interface as the Teddy system but instead of polygonal representation they
used volumetric representation. Volumetric representation can achieve smooth result but at the cost of higher
storage and also higher computation time. Turk et al. [11] first adopted the variational implicit surfaces for object
modeling. The main problem of their approach is the difficulty of reconstruction of the 3D shape thickness. The
method works well for ellipse-like shapes other shapes hard to create. One of recent freeform user interfaces that
use skeletons is system ConvMo [10] which works based on cylindrical convolution surfaces. A weakness of their
approach is that it produces unwanted bulges. Above disadvantages of ConvMo system were partially eliminated
e-mail: Also with Faculty of Mathematics, Physics and Informatics, Comenius University, Mlynska
dolina, 842 48 Bratislava, Slovakia
in [1] by representing the surface as blended spheres, placed along the skeleton similar to [12]. Spheres have
smaller regions of influence as convolution cylinders, so they follow more faithfully the shape of silhouette curve.
Inspired by the above approaches we have developed a system consisting of two approaches the skeleton based
convolution surfaces and variational surfaces to reconstruct a 3D shape from user defined silhouette. By comparing
of two approaches we conclude that the mixture of both methods for different parts of the shape should work best
of all. In our first approach we reduce unwanted bulging effect by simplifying the skeleton and diminishing of
field contribution at skeletal joints. Since this approach is not enough to remove the effect, we proposed the global
interpolation with initial solution found by local interpolation step. Moreover, we propose the method for reduction
of constraints thus reducing the computation costs of variational implicit surface and unwanted oscillations on
surfaces. At the end we propose several operation for shape manipulation that are robust and very simple to
The paper is organized as follows. In Section 2 we discuss the previous work on function shape representation.
The proposed methods are discussed in Section 3 We demonstrate the results obtained using our techniques in
Section 4and we conclude this paper in Section 5
In the process of sketching the objects the algorithms must perform a variety of geometrical calculations, therefore
the general mathematical representation is crucial shape representation. We have focus on function representation
based on two defining functions, namely convolution surfaces generated by skeletons and variational implicit
functions. The convolution surfaces generated by skeletons are well suited for animatable shapes, since they can
be stored it in a very compact way. On the other hand, variational functions have the benefit of locally defined field
functions to optimize the modeling process; unfortunately, such shapes have no skeleton and thus are not suited
for animation.
Let us consider closed subsets of n-dimensional Euclidian space Enwith the definition:
f(x1, x2, ..., xn)0,
where fis a real continuous function defined on En. The above inequality is called a function representation
(F-rep) of a geometric object and function fis called the defining function [7].
2.1 Shape from convolution cylinders
Let us consider from now on the defining function given by the convolution operator between a kernel and all the
points of a skeleton. A skeleton-based implicit surface generated by a set of skeleton primitives ri, i = 1, ..., n
with associated energy function Fiis commonly defined as an iso-surface satisfying the following equation:
Fi(p) = T).
Parameter Tis the iso-potential threshold value and energy functions Fiare monotonically decreasing functions
of distance rifrom the skeleton primitive: The shape of a convolution surface can be varied in several ways: by
changing the skeleton, the modifying the convolution kernel, and by spatial deformation of convolution surface.
Jin at al. proposed a polynomial weighted kernel along line segment, arc, and quadric curve
F(p,c(·), w(·)) = Zl
(1 + s2r2(t))2dt,
where c(t),0tlis a curve, w(t)is a weight and r2(t) = krc(t)k. Authors also derived the analytical
solution of the integral.
2.2 Shape from variational functions
Variational implicit surface is an interpolative function, f, satisfying:
f(ci) =
0for each known surface point ci,
1for ciinside the surface,
1for cioutside the surface.
Thinking about points cias constraints we can formulate the following scattered-data interpolation problem:
Problem 1 Given a set of kconstraint points c1,..., ckscattered over xy-plane, with associated scalar height
values h1,...,hk, construct a surface that interpolates the constraints (ci, hi), e.g. f(ci) = hifor i= 1, . . . , k.
The thin-plate solution to this problem is the function f(x)that satisfies the constraints and minimizes the energy
function E(f) = Rf2
xx(x) + 2f2
xy(x) + f2
yy (x)dx, where fxx,fxy , and fyy are second partial derivatives. We can
thing of fas a linear combination of radial basis functions (RBF) centered at constraint points ci. General RBF
can be written in form fi(x) = φ(kxcik)that depends only on the distance between argument point xand RBF
center ci. Taking into account the linear and constant part of the solution we can write the resulting interpolated
function as
f(x) =
wiφ(kxcik) + P(x),
where P(x) = a·x+b,aR3and bR. The problem is to determine weights wiand coefficients of P(x)
which yields to the system on linear equations:
φ11 φ12 . φ12 1cx
φ21 φ22 . φ22 1cx
. . . . . . . .
φk1φk2. φk21cx
1 1 .1 0 0 0 0
2. cx
k0 0 0 0
2. cy
k0 0 0 0
2. cz
k0 0 0 0
where ci= (cx
i, cy
i, cz
i)and φij =φ(kcicjk). Last four rows in the system correspond to orthogonality
conditions: k
j= 0.
The associated linear system will always have a solution, therefore it can be solved by iterative methods or SVD
The last thing that should be done is the definition of constraints. To simplify the process Turk [11] proposed
four different constraints:
1. Boundary constraints (ci, hi)verify that f(ci) = hiwith hi= 0 and the surface must pass through points
2. Interior constraints (ci, hi)verify that f(ci) = hiwith hi>0. Points ciare located arbitrary inside the
3. Exterior constraints (ci, hi)verify that f(ci) = hiwith hi<0. Points ciare located arbitrary outside the
4. Normal constraints (ci, hi)specify the surface normal and are located outside the surface at a small distance
from a boundary in direction ~
n. They verify that f(ci+ε~
n) = hiwith hi<0.
In this section we describe the main steps for creating convolution and variational implicit surfaces from sketched
silhouette curves. Both methods have some common steps but they differ in technique used for extracting the data
needed for shape reconstruction from the silhouette curve.
3.1 Skeleton based surface
The following method summarizes the main steps of skeleton based convolution surface reconstruction from
1. Process the input stroke and extract the skeleton from its simplification.
2. Convolution surface construction by local fitting of weighted kernel along the skeleton segments to the sil-
houette curve.
3. Global fitting of convolution surface to the silhouette by least-square method.
4. Modify the generated surface components by merging, carving, and other editing operations, refer to Fig. 1.
convolution surface
Visualization of
convolution surface
CDT & Skeleton
Further component-based
editing operations
New projection
Global fitting of
convolution surface
End of
Constructing VIS
Visualization of VIS
Filtering of the
input stroke
filtered stroke
CDT & Skeleton
Further editing operations
New projection
End of
Figure 1. Basic steps. Left: Skeleton based convolution surface generation from sketch.
Right: Implicit surface construction from sketch.
Figure 2. Process of generating convolution surface from silhouette. From left: Filtered
silhouette curve; result of CDT; terminal (blue), sleeve (green), and junction (red) triangles,
influence circles; simplified skeleton; reconstructed convolution surface.
3.1.1 Processing the input stroke
Filtering the input stroke. At this step the silhouette curve drawn by the user is converted into a simple polygon by
sampling the input device movement. Several different algorithms can be found for point reduction in a polygon.
In general they can be calcified into two groups those dependent on screen resolution using the edges with uniform
length [4] and those using adaptive edge length [3, 10]. We use a modified Douglas and Peucker algorithm [3].
Original nonuniform distribution of points along the silhouette is re-sampled to space the points uniformly on
simplified polygon, see Fig. 2. All simplified strokes with self-intersections are rejected at this stage and user is
requested to draw a new stroke.
Projecting filtered stroke. At this point we transform the stroke from screen coordinates to 3D coordinates by
projecting it to a projection plane. Projection plane is parallel to screen plane passing through 3D position of a first
silhouette point obtained from camera depth, see Fig. 3.
Projection plane
First point of the silhouette
Figure 3. Projection of filtered stroke.
Skeleton extraction. At this step a good skeleton must be found to get the best guess of surface close to the
silhouette. Similar to chordal axis transform [8], first, the constrained Delaunay triangulation (CDT) is applied,
where constrains are the edges of filtered polygon. Second, triangles are claciffied into three categories, see Fig. 2
top raw:
Terminal triangle (T-triangle) is a triangle with two external edges (marked in blue),
Sleeve triangle (S-triangle) is a triangle with one external edge (marked in green),
Junction triangle (J-triangle) is a triangle that has no external edges (marked in red).
To find a good initial guess an algorithm based on medial axis comprising of line segments should be used as a
skeleton. Unfortunately this approach will produce unstable results for so called ”folding” strokes [10].
We propose the skeleton extraction algorithm which unlike [10] uses not only circumscribed circles of triangles
but rather for T-triangle it uses inscribed circles with their incenters; for J-triangles it uses circumscribed with
circumcenters; and for S-triangles it uses either circumscribed circles or circles with external edge of polygon as
tangent and third vertex of triangle as point of circle.
3.1.2 Constructing a convolution surface.
To find the convolution that fits given silhouette, we need to determine parameters of its field function F(r).
The first approximation to F(r)is computed by considering each skeleton segment being isolated, neglecting the
influence on other elements. In such a case for a single line segment with end points p,qand length lwe assign
weights w0and w1at the end points by setting the field contribution at pto rpat distance Rpand at qto rqat
distance Rq, see Fig. ??.Rxdenotes the distance from center xto the point where field function is equal to the
threshold T, e.g. F(rp) = F(rq) = T. Last equation can be written as
lT =w0(lFl(rp)Ft(rp))+w1Ft(rp),
lT =w0(lFl(rq)Ft(rq)) + w1Ft(rq).
Because Ft(rp)and lFl(rq)Ft(rq)are small we get the estimation of weights as follows:
(lFl(rp)Ft(rp)) ,
Unfortunately, the resulting surface has a bulge in the middle. We use similar idea as in [10] to ensure that the
surface passes through the point rmid, which is at the distance (Rp+Rq)/2we scale the weight w0and w1by a
correction factor of κ=T /F (rmid).
Finally, the field function of resulting convolution surface consisting of several linear skeletal elements can be
obtained by summing the field function for all line segments Li,i= 1,2, . . . , n:F(r) = Pn
i=1 λiF(r, Li), where
lambdaiis control scale factor. In the first approximation step lambdai= 1.
3.1.3 Global fitting of the convolution surface.
With lambdai= 1 and weights w0, w1computed as described above, one could notice that the surface does not
interpolate the silhouette curve, see Fig. 4 top. This is caused by the fact that when field contribution of all segments
are summed the resulting surface begins to inflate. This inflating effect is fully suppressed in global interpolation
step. We solve the constrained least-squares problem for unknowns lambdai= 1 while minimizing the distance
between the convolution surface and the silhouette polygon points.
Figure 4. Surface without and with global interpolation.
3.1.4 Operations
Merging of two components is for free because two field functions are summed up to form a smooth surface. In or-
der to have larger control over the blending of two components the F-rep blending union operation is implemented.
Carving operation is also implemented as F-rep blending substraction operation.
Surfaces with handles can be created by substraction operation between two components. Hoverer, there is a
way create such surfaces directly form two silhouettes one inside the other one. Our algorithm can handle such
cases and the result will be a torus.
3.2 Variational implicit surface
The main steps of a method for reconstruction of variational implicit surfaces (VIS) are as follows:
1. Process the input stroke and extract the skeleton from its simplification.
2. Construction if variational implicit surface by definition of boundary and normal constraints. Final VIS then
matches the silhouette curve.
3. Global fitting of convolution surface to the silhouette by least-square method.
4. Modify the generated surface components by merging, carving, and other editing operations, refer to Fig. 1.
3.2.1 Processing the input stroke
The first step of VIS reconstruction method from sketched silhouette curve, processing of the input stroke, is
similar to the steps from Section 3.1.1. First two step Filtering the input stroke and Projecting filtered stroke are
exactly the same steps as in Section 3.1.1.
Skeleton extraction. At this step a good skeleton must be found with the height value for each skeleton vertex.
The third step is a bit different. To find the skeleton we use our proposed method from above, this guaranties us
non-redundant constraints for skeleton vertices. This step is different from commonly used approaches based on
VIS where they had many constraints and big matrices [2]. Finally, we assign the height value to each skeleton
vertex equal to the average distance from the sketched polygon vertices in the neighborhood. By this approach we
have eliminated unwanted surface oscillations.
3.2.2 Constructing a variational surface
Construction of variational implicit surface requires the specification of constraints. For each silhouette point we
compute the outside normal to the silhouette polygon. Then a normal constraint is defined by shifting the boundary
constraint placed at the silhouette point by εin normal direction. Such normal constraints all lie in the silhouette
plane. For each skeleton vertex we generate two normal constraints, one above and one below the silhouette plane.
After defining these constraints we have all necessary information to create the linear system from Sec. 2.2. The
resulting function interpolates the constraints and no additional step are needed to correct the solution.
3.2.3 Operations
Carving operation wasn’t proposed in previous sketch-based systems based on VIS, even though the mathematical
concept is very easy. Similar, to merging algorithm, we eliminate the constraints of the carved component which
lie in the intersection of two input components and of eliminating the constraints of carving component which lie
outside the carved component. The constraints of carving object that remained are reversed, see Fig. 5.
In order to have better control over the blending of two components the F-rep blending substraction operation
can also be implemented.
Figure 5. VIS carving. Left: The constraints of carving object that remained in use are re-
versed. Center: Carving example. Right: Examples of various objects created in SketchCo.
In this chapter we want to compare two methods for creating 3D freeform shapes from 2D sketched silhouette
curves proposed above. Namely, possibilities and limits of skeleton based convolution surface and variational
implicit surface for sketch-based modeling.
In the case of VIS, the resulting 3D freeform surface can be generated directly from silhouette points because
VIS are specified by a set of boundary or normal constraints. Therefore it is sufficient to sample input stroke and
sample its points for constrain definition. On the other hand skeleton based convolution surface needs to find the
skeletal elements for their definition, however such objects are directly suitable for animation.
Moreover, robustness of resulting linear system strongly depends on the set of constraints, the change of a
single constraint can change the result significantly. Considering the shape manipulation, VIS allows very easy to
implement basic operations, however, when more control is needed over the operation (such as blending of shape
) skeleton based representation suites better the purpose.
Proposed methods were implemented as SketchCo modeling system. Models in Figure 5 were created in 6
minutes by children from 6 to 15 years. We have considered several geometric representations for sketch-based
modeling. Finally, we have proposed several modifications of two implicit surface representations, the skeleton
based convolution surfaces with linearly weighted distribution and variational implicit surfaces with few editing
operations. In our first approach with skeleton based convolution surfaces we reduced unwanted bulging effect that
appears around junctions of blend line segments by simplifying the skeleton and diminishing of field contribution
at skeletal joints. Since this approach is not enough to remove the effect, we proposed the global interpolation with
initial solution found by local interpolation step. In our approach using VIS we proposed the method for reduction
of constraints thus reducing the computation costs and unwanted oscillations on surfaces.
[1] A. Alexe, V. Gaildrat, and L. Barthe. Interactive modelling from sketches using spherical implicit functions. In AFRI-
GRAPH ’04: Proceedings of the 3rd international conference on Computer graphics, virtual reality, visualisation and
interaction in Africa, pages 25–34, New York, NY, USA, 2004. ACM Press.
[2] B. D. Araujo and J. Jorge. Blobmaker: Free-form modelling with variational implicit surfaces. In Proceedings of 12th
Encontro Portuguess de Computacao Grafica, 12 EPCC.
[3] D. Douglas and T. Peucker. Algorithms for the reduction of the number of points required to represent a digitized line or
its caricature. Canadian Cartographer, 10(2):112–122, 1973.
[4] T. Igarashi, S. Matsuoka, and H. Tanaka. Teddy: A sketching interface for 3d freeform design. Proceedings of SIGGRAPH
99, pages 409–416, August 1999. ISBN 0-20148-560-5. Held in Los Angeles, California.
[5] J. McCormack and A. Sherstyuk. Creating and rendering convolution surfaces. Computer Graphics Forum, 17(2):113–
120, 1998.
[6] S. Owada, F. Nielsen, F. Nakazawa, and T. Igarashi. A sketching interface for modeling the internal structures of 3d
shapes. In Proceedings of 3rd International Symposium on Smart Graphics, Lecture Notes in Computer Science, pages
49–57, Heidelberg,Germany, 1999. Springer.
[7] A. Pasko, V. Adzhiev, A. Sourin, and S. V. Function representation in geometric modelling: concepts, implementation
and applications. The Visual Computer, 11(8):429–444, 1995.
[8] L. Prasad. orphological analysis of shapes. CNLS Newsletter, (139):1–18, 1997.
[9] A. Sherstyuk. Interactive shape design with convolution surface. In Proceeding of Shape Modeling and Applications,
Aizu-Wakamatsu, Japan, pages 56–65, Los Alamitos, California, 1999. IEEE CS.
[10] C. L. Tai, H. Zhang, and C. K. Fong. Prototype modeling from sketched silhouettes based on convolution surfaces.
Computer Graphics, 23(1):71–83, 2004.
[11] G. Turk and J. F. O’Brian. Modeling with implicit surfaces that interpolate. ACM Transactions on Graphics, 21(4):855–
873, 2002.
[12] R. ˇ
c, K. Kaneda, and H. Yamashita. Animation of biological organ growth based on l-systems. Computer
Graphics Forum (EUROGRAPHICS’98), 17(3):1–13, Aug. 1998.
ResearchGate has not been able to resolve any citations for this publication.
Conference Paper
Full-text available
We present BlobMaker, a program for modelling surfaces using variational implicit surfaces. Our approach uses variational implicit surfaces as a geometrical representation for free-form shapes. We have implemented new modelling operations to support stroke (pen-based) input. To this end, we have built a complete modeller application using variational implicit surfaces. Users can create and manipulate shapes using sketches on a per- spective or parallel view. The main operations are inflate, which creates 3D forms from a 2D stroke, merge, which creates a 3D shape from two blobs and oversketch, which allows users to redefine shapes using a single stroke to change their boundaries or to modify a surface by an implicit extrusion. We compare these techniques with those of other approaches published. Finally, we describe their implementation in BlobMaker. We have provided additional features such as copying, picking and dragging to offer a natural user interface suitable free-form modelling. 1.1 Keywords
Conference Paper
Full-text available
We present an interactive modelling technique, which reconstructs three-dimensional objects from user-drawn two-dimensional strokes. We first extract a skeleton from the 2D contour, and the skeleton is used to define an implicit surface that fits the 2D contour. The reconstructed 3D shape has a natural aspect, it is very smooth and can easily be edited and modified using strokes or performing operations on the skeleton. This method is very accessible for non-specialist users and it allows fast and easy shape prototyping.
Conference Paper
Full-text available
We present a sketching interface for quickly and easily designing freeform models such as stuffed animals and other rotund objects. The user draws several 2D freeform strokes interactively on the screen and the system automatically constructs plausible 3D polygonal surfaces. Our system supports several modeling operations, including the operation to construct a 3D polygonal surface from a 2D silhouette drawn by the user: it inflates the region surrounded by the silhouette making wide areas fat, and narrow areas thin. Teddy, our prototype system, is implemented as a Java™ program, and the mesh construction is done in real-time on a standard PC. Our informal user study showed that a first-time user typically masters the operations within 10 minutes, and can construct interesting 3D models within minutes.
Full-text available
In contrast with the growth of plants and trees, human organs can undergo significant changes in shape through a variety of global transformations during the growth period, such as bending or twisting. In our approach, the topology of a human organ is represented by a skeleton in the form of a tree or cycled graph. The length of skeleton growth can be simulated by an algebraic L-system that also produces discrete events. The paper shows how to include global transformations into the formalism of L-systems to obtain a continuous process. The shape of the organ is approximated by a number of ellipsoidal clusters centred at points on the skeleton. The proposed growth model of the organ continually responds to the positional changes of surrounding organs, thereby changing the organ shape locally. In our study, the stomach of a human embryo is used for the demonstration of organ development, and the methodology employed is also applicable to the animation of animal organs and their development.
Full-text available
Abstract This paper presents a hybrid method for creating three-dimensional shapes by sketching silhouette curves. Given a silhouette curve, we approximate its medial axis as a set of line segments, and convolve a linearly weighted kernel along each segment. By summing the fields of all segments, an analytical convolution surface is obtained. The resulting generic shape has circular cross-section, but can be conveniently modified via sketched profile or shape parameters of a spatial transform. New components can be similarly designed by sketching on different projection planes. The convolution surface model lends itself to smooth merging between the overlapping components. Our method overcomes several limitations of previous sketched-based systems, including designing objects of arbitrary genus, objects with semi-sharp features, and the ability to easily generate variants of shapes.
Full-text available
Concepts of functionally based geometric modeling including sets of objects, operations, and relations are discussed. Transformations of a defining real function are described for set-theoretic operations, blending, offsetting, bijective mapping, projection, cartesian products, and metamorphosis. Inclusion, point membership, and intersection relations are also described. We use a high-level geometric language that can extend the interactive modeling system by input symbolic descriptions of primitives, operations, and predicates. This approach supports combinations of representational styles, including constructive geometry, sweeping, soft objects, voxel-based objects, deformable and other animated objects. Application examples of aesthetic design, collisions simulation, NC machining, range data processing, and 3D texture generation are given.
Conference Paper
Full-text available
This paper presents a complete design environment that explores the modeling capabilities of convolution surfaces and puts them into practice. The design system includes a number of implicit primitives and modeling techniques that allow objects to be created by sculpting their surfaces at all levels of detail. All the techniques are illustrated using models of marine life forms and other objects of organic origin. Implementation and efficiency issues are discussed
Conference Paper
Full-text available
This paper presents a sketch-based modeling system for creating objects that have internal structures. The user input consists of hand-drawn sketches and the system automatically generates a volumetric model. The volumetric representation solves any self-intersection problems and enables the creation of models with a variety of topological structures, such as a torus or a hollow sphere. To specify internal structures, our system allows the user to cut the model temporarily and apply modeling operations to the exposed face. In addition, the user can draw multiple contours in the Create or Sweep stages. Our system also allows automatic rotation of the model so that the user does not need to perform frequent manual rotations. Our system is much simpler to implement than a surface-oriented system because no complicated mesh editing code is required. We observed that novice users could quickly create a variety of objects using our system.