A Freehand Sketch Interpreter System forConstructing 3D Solid Models
Weizhong Liu†, Kunio Kondo†, Jun Mitani‡,† Department of Information and Computer Sciences, Saitama University,{wzliu,kondo}@ke.ics.saitama-u.ac.jp, ‡ RIKEN, jmitani@riken.jp

1. Introduction
Freehand sketch interpreter system is a new type of
CAD system which increases flexibility of data input
for 3D models and will become the future trend of
CAD system[1-3].
This paper discusses a freehand sketch interpreter
system for constructing complex 3D solid models. Theessential original idea of this paper is to create complex
3D object with a template topology library step by stepfrom freehand strokes. The library is called T-LIB. The
input strokes are analyzed as a 2D edge graph. Once theedge graph can be matched to a template of T-LIB, the3D shape can be reconstructed (referring to Fig.1(a,b))
or modified (referring to Fig.1(c,d)). Designers can use
or feel comfortable to use our system for realizing theiridea sketches.

(a)

(b)

(c)

(d)

Figure 1: Sketch interpreter system. (a)Input freehandstrokes. (b)Create a basic 3D shape. (c)Input strokes on the3D shape. (d)Generate a new modified 3D shape.

2. Interpretation of Sketch Input
2.1 Sketch Plane
The strokes are drawn on a plane which is called sketch
plane. Referring to Fig.2, it can be regarded as a plane
between 3D scene and screen of user interface.
3D Scene
Sketch Plane

strokes meet at one vertex or not. We implement a
process called T-Extracting to get the proper intersecting edges from 3D mesh. And then project them tosketch plane. From the input strokes and projectededges, we can build a 2D edge graph.
2.3 T-LIB
T-LIB is a template topology library. It consists of 2D
Edge Graph and the corresponding algorithm to create
and modify 3D objects. Fig.3 illustrates the templatesof cube, triangular prism and triangular pyramid. New
template definition is feasible.
T-LIB

2D Edge Graph

3D Shape

Cube

Triangular
Prism

Triangular
Pyramid
Figure 3: T-LIB.

3. Application Interface System
3.1 System Procedure
The system is shown as the following Fig.4.
Input stroke on Sketch Plane

3D objectexist?

Extract edges from mesh andproject them to Sketch Plane

ScreenCamera

Build 2D Edge Graph

User interface
Figure 2: Sketch Plane.

2.2 Edge Graph
Edge Graph is a 2D topology graph. It is calculated
from the strokes and the projected edges of 3D meshwhich intersect with the strokes.
Here, we use a proper threshold to judge whether theYN

Project 2D Edge Create 3D shape
Graph to 3D object
from T-LIB

Analyze topology

Modify 3D shape

Match library

OK?

Exist?

YNY
NPR, Fillet,
Subdivision, etc

N
New templet definition

Figure 4: Application interface system

Output data3.2 3D Shape Reconstruction from T-LIB

4. Examples

The algorithm of cube shape reconstruction is discussed
in this section. The strokes are shown in Fig.5(a), while
the extracted 2D edge graph is shown in Fig.5(b). The
3D cube is calculated by evaluating a camera normal
and using parallel projection.

Fig.7 is an example we made by using our sketch
system for constructing a mouse model.

(a)

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

(j)

(k)

(l)

(b)

Figure 5: 3D cube shape reconstruction from T-LIB

Let vector n={nx, ny, nz} be the camera normal, Vi={ v , v , v } be the vertex of the 3D cube, while Pi= { p ,p , p } be the vertex of cube edge graph.
Let v0=(0,0,0), a=nx/nz , b=ny/nz, with the principle ofparallel projection, we get the following equations:(1)v 1x v 2x + v 1y v 2y + v 1z v 2z = 0(2)v 2x v 3x + v 2y v 3y + v 2z v 3z = 0xyzxiiiiyziiv 3x v 1x + v 3y v 1y + v 3z v 1z = 0(3), v = bv + pv = av + p , v 2y = bv 2z + p 2yv 3x = av 3z + p 3x , v 3y = bv 3z + p 3y(4)(5)(6)v = av + px
1z
1x
1x
2z
2x
22y
1z
12y
122Let c=(a p +b p )/(a +b +1), d=(a p +b p )/(a +b +1),
e=(a p +b p )/(a2+b2+1), f=( p p + p p )/(a2+b2+1),
xx

y

11x

2y3y3xx122yy

12g=( p p + p p )/(a2+b2+1), h=( p p + p p )/(a2+b2 +1),
from equation (1-6), we get the following equations:
xxyyx

xyy

2

3233131v1z v2z + d v1z + c v2z + f = 0zv v + e v2 + d v + g = 0v v + c v + e v1z +h = 0zzz

233zzz

3

13(7)
(8)
(9)

From equation (7-9), we can deduce the equation (10):zz(g-de)( v1 ) 2 +2 (cg- cde ) v1 +( fh+g c 2 -cdh- cef)=0

Then v1,v2,v3 can be calculated, other vertices can becalculated with the parallel projection. In such a way,
the basic 3D shape can be reconstructed.
3.3 3D Shape Modification
The 3D shape modification process is illustrated as thefollowing figures in Fig.6:

Figure 7: An example for constructing a mouse model.
(a)Input strokes. (b)Create basic 3D shape. (c-j)Input strokes
again and modify the 3D shape. (k)Implement fillet operation
and adaptive subdivision. (l)Another view of Fig.(k).

5. Conclusions
In this paper, we propose a freehand sketch interpreter
system for constructing complex 3D solid models. The
idea comes from a template topology library called
T-LIB, which is used in both 3D shape reconstruction
and modification procedures. The basic 3D shape iscreated by evaluating a camera normal and using
parallel projection. The complex 3D shape can begotten by modify the basic 3D shape with T-LIB stepby step from freehand strokes. With our system,
designers can feel very comfortable for realizing theiridea sketches.

References[1] S. Sugishita, K. Kondo, H. Sato, S. Shimada, Sketch
Interpreter for geometric modeling, International Conf. ofComputer Aided Geometric Design 1994, 1994.7.

(a)

(b)

(c)

(d)

Figure 6: Modification process. (a)Input stroke. (b)Extractedge graph, (c)Adjust edge graph, (e)Modify 3D shape.

Here the angle between the stroke and edge of 3D
shape is used as a threshold to adjust the edge graph forgetting the parallel information.

[2] K. Matsuda, S. Sugishita, Z. Xu, K. Kondo, H. Sata, S.
Shimada, Freehand Sketch System for 3D Geometric Modeling,
Shape Modeling International, pp. 55-62, 1997.3[3] P.A.C. Varley, H. Suzuki, J. Mitani, R.R. Martin,
Interpretation of Single Sketch Input for Mesh and Solid Models,International Journal of Shape Modeling, Vol. 6, No. 2(2002)
207-241.