Interactive Pattern Design for Plush Toys by Yuki

Interactive Pattern Design for Plush Toys
ぬいぐるみのためのインタラクティブな型紙デザイン
by
Yuki Mori
森 悠紀
A Master Thesis
修士論文
Submitted to
the Graduate School of Information Science and Technology
the University of Tokyo
on February 6, 2007
in Partial Fulfillment of the Requirements
for the Degree of Master of Information Science and
Technology
in Computer Science
Thesis Supervisor: Takeo Igarashi 五十嵐 健夫
Associate Professor of Computer Science
ABSTRACT
In order to design an original plush toy, one needs to construct an appropriate 2D
pattern. However, it is difficult for ordinary people to design 2D pattern appropriately.
Therefore existing patterns for plush toys or balloon have been designed by professional
designers. To help people to design their own original plush toys, we are developing two
systems for pattern design. The first system, Pillow, starts with an existing 3D model
and lets the user interactively specify segmentation boundaries by drawing seam lines
on the model surface. Given the user-defined segmentation, the system generates 2D
patterns by flattening the pieces. The system then visualizes the shape of the resulting
plush toy by applying a simple physics simulation. This closed loop interaction allows
the user to experiment with various seam line designs without actually sawing a real
fabric. The second system, Plushie, is a tool for desinging an original plush toy
from scratch using a sketch-based modeling interface under physical constraints. The
resulting model is always associated with a 2D cloth pattern and thus the user can
generate a model that is guaranteed to be realizable as a plush toy. These two systems
make the construction of 2D patterns easier and enable the user to design his or her
own original plush toys. We introduce some results of sawing plush toys and balloon.
論文要旨
ぬいぐるみを新たにデザインするためには,対応した型紙を作成する必要があるが,
できあがりの 3 次元形状を推測しながら 2 次元の型紙を作成することは素人には難しく
専門家によって行われている.そこで我々はぬいぐるみ形状デザインのための型紙生成
を支援するシステムを2つ作成した.1 つ目のシステム Pillow は,既存の 3 次元サー
フェスモデルを入力として,ユーザがモデルの表面形状に沿って縫い目を描くと描かれ
た縫い目を元にシステムが 2 次元の型紙へと展開するものである.入力される 3 次元モ
デルは布で作られているということを考慮していない形状であるため,出力された型紙
を実際に縫い合わせたぬいぐるみ形状は入力モデルと比較すると必ず歪みが生じる.そ
のため,自動生成された型紙を使って縫い合わせた結果どのようなぬいぐるみ形状にな
るかをシミュレーションする.これによりユーザは,実際に作る前に出来上がりのぬい
ぐるみ形状を検証することが可能となり,本システムの中でユーザは試行錯誤をし,満
足する縫い目になったら実際にぬいぐるみを作成することができる.2 つ目のシステム
Plushie は,手書きスケッチを利用したモデリング操作によって,ユーザが希望するぬ
いぐるみの形状を対話的にデザインしていくものである.ユーザからの入力ストローク
と物理的制約を元に常にぬいぐるみになるような 3 次元モデルをモデリングしていく.
対応する型紙はユーザがモデリングするたびにインタラクティブに更新される.このよ
うにオリジナルなぬいぐるみ作成に必要な型紙生成の工程をコンピュータで支援するこ
とによって,素人にも手軽にオリジナルなぬいぐるみをデザインすることが可能となる.
実際にぬいぐるみ作成や空気膜造形に適用した例を紹介する.
Acknowledgements
I would like to thank to my thesis supervisor Dr. Takeo Igarashi for his support in
doing this work. He gave me many hints, useful advice about this thesis. I also
would like to thank the user interface research group at the University of Tokyo for
helpful discussions and suggestions. I would also like to thank Dr. Hiromasa Suzuki,
Dr. Yasunori Harada, and Dr. Hideyuki Nakashima for their helpful comments.
I would also like to thank the CMU stage3 research group, especially Dennis Cosgrove,
for allowing me to use their Jalice scenegraph, and Bruno Lèvy for providing the
OpenNL library.
I would also like to thank National Museum of Emerging Science and Innovation in
Japan for offering the place to user study, and Quest and Try Ins. for making balloons.
Finally I would also like to thank my family for their helpful comments, support and
encouragement.
This work was funded in part by grants from the Japanese Information-Technology
Promotion Agency (IPA).
Contents
1 Introduction
1
2 Related Work
4
3 Pillow:
An Interactive Pattern Design
3.1 User Interface . . . . . . . . .
3.2 Implementation . . . . . . . .
3.3 Results . . . . . . . . . . . . .
3.4 Conclusion and Future Work
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
8
8
10
4 Plushie:
An Interactive 3D Modeling with Physical Constreints
4.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 User Interface . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 3D Modeling Operasions . . . . . . . . . . . . . . .
4.2.2 Operations on the 2D Pattern View . . . . . . . .
4.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Physical Simulation . . . . . . . . . . . . . . . . .
4.3.2 3D Modeling . . . . . . . . . . . . . . . . . . . . .
4.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Limitations and Future Work . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12
12
15
15
17
20
20
21
24
29
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Conclusion
34
6 Future Work
35
i
List of Figures
1.1
The overview of our systems. . . . . . . . . . . . . . . . . . . . . . . .
2
3.1
3.2
A screen snapshot of the Pillow system. . . . . . . . . . . . . . . . . .
Outline of Pillow system. (a) The original 3D model with seam lines
drawn by the user; (b) 2D sawing patterns generated by flattening the
pieces; (c) The reconstruction result generated by applying a physics
simulation to the pattern. . . . . . . . . . . . . . . . . . . . . . . . .
This is the result of real sewing using the resulting patterns of Figure 3.2
Pattern design examples. The user experiments with two different segmentations (top and bottom). The figures show (left) the user-specified
7
3.3
3.4
3.5
4.1
4.2
seam lines, (center) the result of applying the physics simulation to the
patterns generated automatically from the user-specified segmentation,
and (right) the real plush toys created using the given patterns. . . .
This is the result of balloon using the resulting patterns of Figure 3.1.
Designing an original plush toy using our system. The user interactively
edits the 3D model on the screen using a sketching interface. Internally,
the system generates 2D cloth pattern and shows the 3D model as a
result of applying simple simulation to the pattern. . . . . . . . . . .
Designing a plush toy with a computer. Traditional approach (a) first
constructs an unconstrained virtual model and generates a 2D pattern
by applying segmentation and flattening. The final sewn result can be
very different from the virtual model. Our system (b) directly generates
7
9
10
11
12
2D cloth pattern such that the simulation result matches the user input.
In this way, the virtual model is always a good estimation of the final
4.3
4.4
4.5
sewn result. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A screen snapshot of the Plushie system. . . . . . . . . . . . . . . . . .
13
15
User interface of part creation. (a) The user draws a stroke and (b) the
system suggests two different possibilities. The user chooses one (c, d).
16
User interface of the pull operation.
17
ii
. . . . . . . . . . . . . . . . . . .
4.6
Insertion of a seam line. (a) Before drawing a line. (b) After drawing
a line. (c) The seam line’s two endpoints snap at other seam lines. (d)
After pulling the seam line. . . . . . . . . . . . . . . . . . . . . . . . .
Deletion of a seam line. . . . . . . . . . . . . . . . . . . . . . . . . . .
18
18
4.8 Patches connected to each other using connectors (b) and numbers (c).
4.9 Pulling a 2D patch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.10 Opening a dart line. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
19
20
4.7
4.11 Our simple model to mimic stuffing effect. (a) the system first moves
each face to its normal direction slightly to mimic the effect of internal
pressure. (b) the system adjusts the length of each edge to preserve the
integrity of cloth material. . . . . . . . . . . . . . . . . . . . . . . . . .
4.12 Adjustment process after creation. The system enlarges the 2D pattern
so that the simulation result matches the input stroke. The 2D boundary vertex (u) moves in its normal direction by the amount proportional
to the distance between the corresponding 3D vertex (v) and the input
stroke (p). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.13 Updating the 2D mesh geometry. (a) before deformation. (b) boundary
vertices are moved. (c) smoothing is applied to the boundary. (d)
Laplacian smoothing is applied to the internal vertices. . . . . . . . . .
4.14 Physical simulation and shape adjustment. The red lines indicate the
input strokes. The top row shows the result of converting the input
into patterns directly, and the bottom row shows the outcome when
the adjustment process is applied to the patterns. The green shapes in
the middle show the simulation results and the brown ones on the right
show the real fabric models, both resulting from the 2D pattern on the
left. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.15 Creation of a part. The system projects the input stroke to a working
plane and cuts the base mesh with either an elliptic curve or a line
(b). The 3D geometry is constructed by creating a mesh between the
projected stroke and the base curves (c). . . . . . . . . . . . . . . . . .
21
23
24
25
26
4.16 Pulling a vertex on a seam line. . . . . . . . . . . . . . . . . . . . . . .
4.17 A plush toy designed in our system. . . . . . . . . . . . . . . . . . . .
26
27
4.18 A balloon designed in our system. . . . . . . . . . . . . . . . . . . . .
4.19 Example of texture changed. These models have many thin parts. . .
28
28
4.20 Visitors to museum made some original 3D models. . . . . . . . . . . .
4.21 These are results of 3D model in the userstudy. . . . . . . . . . . . . .
29
30
4.22 These are real plush toys. . . . . . . . . . . . . . . . . . . . . . . . . .
4.23 Children joined our workshop accompanied by their parents. . . . . . .
30
31
iii
4.24 Example of original plush toys designed and created by children in the
workshop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.25 Limitation of our 3D pulling operation. . . . . . . . . . . . . . . . . .
iv
32
33
Chapter 1
Introduction
In order to design an original plush toy, one needs to construct a appropriate 2D
pattern. However, it is difficult for ordinary people to design 2D pattern appropriately.
Therefore existing patterns for plush toys or balloon have been designed by professional
designers. There are some home-made plush toy in today; A lot of it was made using
making plush toy kit including patterns designed by professional designers. Many
non-professional people would like to design their own plush toys if he/she can. To
help people to design their own original plush toys, we are developing two systems for
pattern design. The first system, Pillow, starts with an existing 3D model and lets the
user interactively specify segmentation boundaries by drawing seam lines on the model
surface (Figure 1.1 a ). Given the user-defined segmentation, the system generates 2D
patterns by flattening the pieces. The system then visualizes the shape of the resulting
plush toy by applying a simple physics simulation. This closed loop interaction allows
the user to experiment with various seam line designs without actually sawing a real
fabric. The second system, Plushie, is a tool for desinging an original plush toy from
scratch using a sketch-based modeling interface under physical constraints (Figure 1.1
b ). The resulting model is always associated with a 2D cloth pattern and thus the
user can generate a model that is guaranteed to be realizable as a plush toy. These
two systems make the construction of 2D patterns easier and enable the user to design
his or her own original plush toys. We introduce some results of sawing plush toys
and balloons.
Our contribution is in the combination of interactive seam design, automatic flattening, and physics simulation. This closed loop framework allows the user to experiment with various seam patterns before actually working on real fabric to obtain
the best-looking result. Our contribution is also in the combination of interactive 3D
modeling under physical constraints. The resulting model is always associated with
a 2D pattern and the model is the result of a physical simulation that mimics the
inflation effect caused by stuffing.Therefore, the model on the screen is always a good
1
(a) Pillow: an interactive pattern design system.
(b) Plushie: an interactive 3D modeling system with physical constraints.
Figure 1.1: The overview of our systems.
2
estimation of the final sewn result.
We describe related work of these systems in the next chapter. Then, Chapter 3
describes the Pillow system which is an interactive pattern design system for creating
plush toys. Chapter 4 describes the Plushie system which is a tool for designing an
original plush toy from scratch using a sketch-based modeling interface under physical
constraints. Finally, Chapter 5 discusses the conclusion and Chapter 6 addresses
related issues for future research.
3
Chapter 2
Related Work
Sketching Interfaces: Several gestural interfaces for sketching 3D shapes have been
developed for different classes of models (e.g., Zeleznik et al. [1]; Shesh and Chen [2]).
For free-form objects, Igarashi’s Teddy [3] was the first interface for free-form modeling
via sketching. Nealen et al. [4] presented a sketch-based interface for laplacian mesh
editing where a user draws reference and target curves on the mesh to specify the
mesh deformation. Finally, Karpenko and Hughes [5] presented a system for inferring
plausible 3D free-form shapes from visible-contour sketches.
Flattening: Methods for unfolding mesh models have been proposed by researchers
in the field of mesh parameterization in recent years (e.g., Sorkine et al. [6], Levy et
al. [7], Sheffer et al. [8], Sheffer et al. [9]). These approaches are very useful for texture mapping but they are not applicable for plush toys because they allow distortion
of faces. Therefore, it is different shape after sawing real fabric from the 3D model.
Mitani and Suzuki [10] presented a method for producing unfolded paper-craft patterns of rounded toy animal figures from triangulated meshes by means of strip-based
approximation. Liu et al. [11] presented a modeling of developable surface.
Simulation: Methods for 3D simulation have been proposed by researchers in the
field of simulation in recent years, which can be divided into two major categories:
cloth simulation technique (e.g., Baraff and Witkin [12], Choi and Ko [13]) and finite
element technique (e.g., Grinspun et al. [14]). We can get a 3D model from 2D patterns
using these methods. However these simulations are not interactive.
Special-Purpose Modeling Systems: To make geometric modeling intuitive and
4
efficient, there have been many approaches with physical constraints of target object.
Several modeling systems using botanical information of plants have been developed
(e.g., Ijiri et al. [15], Okabe et al. [16]). An idea of modeling urban environments using
shape grammars (called CGA shape) was recently explored (e.g., Wonka et al. [17];
Mueller et al. [18]). SketchUp [19] enables users to build and modify 3D models
quickly and easily specialized architectural structures. Blender [20] is a system to
design configuration of the earth’s surface.
Deformation: Recent years have witnessed significant progress in gradient-domain
mesh deformation techniques (e.g., Sorkine et al. [21], Yu et al. [22], Nealen et al. [4]).
These techniques have several attractive properties, including the abilities to preserve surface details during deformation and to produce visually pleasing results by
amortizing distortions throughout the mesh. Huang et al. [23] presented a general
framework for performing constrained deformation tasks with gradient domain techniques. Igarashi et al. [24] presented an interactive system that lets a user move and
deform a two-dimensional shape without manually establishing a skeleton or freeform
deformation (FFD) domain beforehand.
5
Chapter 3
Pillow:
An Interactive Pattern Design
Pillow is an interactive pattern design system for creating plush toys. The user imports
a 3D model into the system and specifies the segmentation boundaries interactively
by drawing seam lines on the model surface. Given the user-defined segmentation,
the system generates a 2D pattern by flattening the pieces [25]. The system then
visualizes the shape of the resulting plush toy by applying a simple physics simulation
to the virtual plush toy created by assembling the flattened pieces. This closed loop
framework allows the user to experiment with various seam patterns before actually
working on real fabric to obtain the best-looking result.
Julius et al. [26] presented an automatic segmentation algorithm for plush toys and
demonstrated its viability by creating real toys using the machine-generated pattern.
However, their automatic method relies on purely geometric criteria and it is difficult
to capture the perceptually important features of the original shape. As a result,
seams can appear in undesirable ways, such as those that cross the face or ignore the
symmetry of the model. Our approach focuses on the user’s artistic process of pattern
design and provides tools to support the exploration process.
3.1
User Interface
Figure 3.1 shows a snapshot of the system. The left window shows the original 3D
model, the center window shows the flattened 2D pattern, and the right window shows
the reconstruction result. Figure 3.2 shows outline of Pillow system. This system takes
a 3D surface model as input. The user draws free-form lines on the 3D model surface
indicating the segmentation boundaries (Figure 3.2(a)). When the user completes
the segmentation, the system automatically flattens the pieces (Figure 3.2(b)). The
pattern view shows lines connecting corresponding seams to help the user understand
6
Figure 3.1: A screen snapshot of the Pillow system.
(a)
(b)
(c)
(d)
Figure 3.2: Outline of Pillow system. (a) The original 3D model with seam lines
drawn by the user; (b) 2D sawing patterns generated by flattening the pieces; (c) The
reconstruction result generated by applying a physics simulation to the pattern.
7
the relationships among the pieces. The system also reconstructs the 3D geometry by
virtually sewing the flattened pieces together and applying a simple physics simulation
(Figure 3.2(c)). This view visualizes how the stuffed toy might look when the user
creates a real toy using the current segmentation. If the user dislikes the result, he or
she can quickly change the segmentation by erasing and redrawing seam lines.
3.2
Implementation
Pillow, our prototype system, is implemented as a JavaTM program. Flattening and
reconstruction run in real-time on a standard PC. We use ABF++ as the flattening
algorithm [9]. It flattens a 3D surface patch to a 2D pattern by minimizing the
distortion in the angle space. For the physics simulation, we currently use a very
simple mass-spring model. First, each vertices are moved in a normal direction to
mimic outward pressure. Then, the system adjusts edge length. We plan to combine
our system with more sophisticated simulation methods [14].
3.3
Results
We created 2D patterns for a teddy bear model using our system and then created real
plush toys using the resulting patterns. We use Teddy [3] for creating input 3D model.
We use a standard polygonal mesh representation, so one can use any polygonal model
available on the net. It is also possible to create his/her own model using standard
modeling program.
Figure 3.3 presents the result. It shows that the user can quickly experiment with
various segmentation strategies using the system, and the simulation results successfully capture the overall shape of the real plush toys.
We also applied our method to design a balloon. Figure 3.5 shows the balloon
which was made using Pillow. Figure 3.1 is corresponding 3D model and 2D patterns.
Making process for balloon is:
1. make a 3D model using standard 3D modeler about tenth size
2. manually design a 2D pattern using repto-papers referring the 3D model.
R
3. scan the 2D pattern and trace the contours using Illustrator°.
4. scale the traced 2D patterns to real size and print it using a plotter.
5. cut and sew the 2D pattern.
The required of time from request to the delivery of materials is about a month. Using
Pillow, the processes from 1 to 3 are shorten (about 2 weeks). Therefore the total time
is half.
8
Figure 3.3: This is the result of real sewing using the resulting patterns of Figure 3.2
9
Figure 3.4: Pattern design examples. The user experiments with two different segmentations (top and bottom). The figures show (left) the user-specified seam lines,
(center) the result of applying the physics simulation to the patterns generated automatically from the user-specified segmentation, and (right) the real plush toys created
using the given patterns.
3.4
Conclusion and Future Work
We developed an interactive pattern design system for creating stuffed animals. Using
pillow system, the user can get 2D pattern easily and the user can quickly experiment
with various segmentations without actually sewing the real fabric.
In the future, we plan to improve the flattening algorithm to take cloth properties
into account. Existing algorithms (e.g., Levy et al. [7], Sheffer et al. [9]) for 2D
parameterization do not consider to cloth property. Expressible area and shape by a
cloth without seam are different by material of the cloth. Therefore we would like to
try 2D parameterization on the basis of these material cloth properties. We also want
to incorporate more sophisticated simulation methods.
10
Figure 3.5: This is the result of balloon using the resulting patterns of Figure 3.1.
11
Chapter 4
Plushie:
An Interactive 3D Modeling
with Physical Constreints
This chapter described Plushie system which is a tool for designing an original plush
toy from scratch using a sketch-based modeling interface under physical constraints.
The resulting model is always associated with a 2D cloth pattern and thus the user
can generate a model that is guaranteed to be realizable as a plush toy (Figure 4.1).
(a) creation
(b) cut
(c) adding a part
(d) pull
(e) result of sewing
Figure 4.1: Designing an original plush toy using our system. The user interactively
edits the 3D model on the screen using a sketching interface. Internally, the system
generates 2D cloth pattern and shows the 3D model as a result of applying simple
simulation to the pattern.
4.1
Background
A computer can be a powerful tool for designing real-world artifacts. One can build a
virtual model in a computer and use it to run various simulations, without the need
to build and damage costly real objects. The benefits are evident in many areas,
from architecture to automobile design. In these traditional applications, modeling
12
(a) Traditional framework
(b) Our framework
Figure 4.2: Designing a plush toy with a computer. Traditional approach (a) first
constructs an unconstrained virtual model and generates a 2D pattern by applying
segmentation and flattening. The final sewn result can be very different from the
virtual model. Our system (b) directly generates 2D cloth pattern such that the
simulation result matches the user input. In this way, the virtual model is always a
good estimation of the final sewn result.
and simulation have been completely separated. A virtual model is created in threedimensional (3D) modeling software without considering any physical constraints, and
then passed later to a simulation environment. If the simulation result reveals a
problem, the user returns to modeling to fix the problem. This can be more efficient if
the system runs the simulation concurrently with modeling, so that only models that
are physically realizable are created. In this way, the user can more efficiently explore
the design dimensions within realistic constraints. From the user’s point of view, the
model generated by the system may not exactly take his/her input shape but takes a
physically realizable shape reflecting the input shape.
Some recent systems have tried to incorporate physical simulation into an interactive design process. Igarashi and Hughes [27] developed a mark-based interface for
putting clothing on a virtual character, and Decaudin et al.[28] proposed a system for
designing an original garment via sketching. Both used simple geometric simulations
to represent the physical properties of cloth material. Masry and Lipson [29] described
13
a system in which the user can quickly build a CAD model via sketching and immediately apply finite element analysis to the model. However, model construction is
computed before simulation in these systems, and no dynamic feedback loop exists
between the simulation result and the original user input.
We are experimenting with modeling guided by a concurrent simulation in plush
toy design. Plush toys are one of the most familiar objects in our daily life but their
design is difficult. One must design an appropriate two-dimensional (2D) pattern
to obtain a particular 3D shape, but the relationship between the two is nontrivial,
and intensive experience and knowledge is required to do so appropriately. As a result,
most people simply buy ready-made toys and do not enjoy the design and construction
of their own plush toys. We have tried to enable these people to design their own toys
by providing an easy but powerful modeling tool that combines a sketching interface
and integrated physical simulation.
Methods for making plush toys from a given 3D model have been proposed in
recent years. Following Mitani and Suzuki’s [10] work on paper-craft models, Julius et
al. [26] presented a system that generates a 2D pattern for a 3D model by automatically
segmenting the surface into patches and flattening them. One problem of an automatic
approach that relies on purely geometric criteria is that it is difficult to perceptually
capture important features such as symmetry. Mori and Igarashi’s [30] system helps
manual segmentation of a model by providing automatic flattening and showing the
result of physical simulation. These systems make plush toy design more accessible,
but the fundamental challenge of creating an original plush toy is still unresolved. One
can generate simple models using some modeling software (e.g., Igarashi et al. [3]) but
an arbitrary 3D model is not necessarily realizable as a real plush toy, and the final
sewn result can be very different from the original 3D model (Figure 4.2 a).
Our system, Plushie, allows the user to create a 3D plush toy model from scratch
by simply drawing its desired silhouette. The user can also edit the model, such as by
cutting the model and adding a part, using simple sketching interface. The resulting
model is always associated with a 2D pattern and the 3D model is the result of a
physical simulation that mimics the inflation effect caused by stuffing. Therefore, the
model on the screen is always a good estimation of the final sewn result (Figure 4.2 b).
Internally, the system computes the geometry of the 2D pattern so that the simulation
result matches the user’s input sketch. This is a nontrivial inverse problem and we
address this by using simple iterative adjustment method. We show that a very simple
simulation method, just moving vertices to their normal directions to mimic pressure
and pulling them back to maintain edge length, works well for our application and
provides an unprecedented experience of designing a physical object in a computer.
We run a workshop in a museum to have novice users try our system and have observed
that even children designing their own plush toys.
14
Figure 4.3: A screen snapshot of the Plushie system.
4.2
User Interface
The system consists of two windows: one shows the 3D plush toy model being constructed and the other shows the corresponding 2D pattern (Figure 4.3). The user
works on the 3D view, interactively building the 3D model by using a sketching interface. The 2D view is mainly for reference but the user can also edit the 2D pattern
directly when desired. The 3D model is produced from a physical simulation of the
assembled 2D pattern. After each input from the user, the system updates the 2D
pattern so that the simulation result matches the user input. This guarantees that
the model is always realizable as a real plush toy and that the 2D pattern is readily
usable as a template for cutting and sewing real fabric.
4.2.1
3D Modeling Operasions
The modeling operations are based on gestural interface introduced by Igarashi et
al. [3]. The user interactively draws free-form strokes on the canvas as gestures and
the system performs corresponding operations. We also provide some special editing
operations tailored for plush toy design.
Creating a New Model:
Starting with a blank canvas, the user creates a new
plush toy model by drawing its silhouette as a closed free-form stroke. The system
automatically generates two cloth patches corresponding to the stroke and visualizes
15
the shape of the resulting plush toy by applying a simple physical simulation (Figure
4.1 a).
Cut:
A cut operation makes relatively flat surfaces, such as those in a foot or belly.
A cutting stroke should start outside of the model, cross it, and end outside of the
model (Figure 4.1 b). The model is cut at the intersection and flat patch is generated
at the cross-section.
Creation of a Part: The user can add protruding parts such as the ears and arms
to the base model by drawing a single stroke that defines the silhouette of the part. The
stroke should start and end on the base model (Figure 4.4 a). The system generates
two candidate shapes and presents them to the user as suggestions [31](Figure 4.4 b).
One is for fat, rounded parts like the body, arm, and leg (Figure 4.4 c). Their base
is connected to the base model with an open hole. The other candidate shape is for
thin parts like ears and the tail, whose base is closed (Figure 4.4 d). The user clicks
the desired thumbnail and the system updates the main model accordingly. We found
that the ability to create thin parts with a single stroke is particularly useful. They
are frequently seen in real toys and are difficult to design using standard modeling
software. Figure 4.19 shows a couple of example models with thin parts.
Figure 4.4: User interface of part creation. (a) The user draws a stroke and (b) the
system suggests two different possibilities. The user chooses one (c, d).
Pull: The user can grab a seam line and pull it to modify the shape. For example,
the user can pull an ear to make it larger when it is smaller than the other (Figure
16
Figure 4.5: User interface of the pull operation.
4.5). The pulling operation begins when the user starts dragging on the background
region near a seam line. The system changes the mouse cursor when it approaches
a seam line to indicate that the user can start pulling. We use the peeling interface
introduced by Igarashi et al. [24] to adjust the size of the region to be deformed; that
is, the larger area is deformed as the user pulls more. The system continuously updates
the 2D cloth pattern during pulling and shows the simulation result in the 3D view.
Insertion and Deletion of Seam Lines:
The modeling operations performed
thus far automatically generate 2D patches according to predefined algorithms and
seam lines (patch boundaries) appear on the 3D model surface without the user’s
explicit control. However, it is sometimes desirable for knowledgeable users to design
seam lines manually, for more detailed control. This is especially important when
using non-stretchy cloth as in balloon models because one needs to divide a rounded
surface into many almost-developable small patches (Figure 4.18).
The user can add a new seam in the seam line drawing mode by drawing a freeform stroke on the model surface (Figure 4.6). The corresponding cloth patch is then
automatically cut along the new seam line. If the stroke crosses the entire patch, the
patch is divided into two separate patches. If the stroke starts or ends in the middle of
a patch, it becomes a dart. The 3D geometry does not change immediately after the
insertion of these seam lines, but the user can pull the seam line afterwards to modify
the shape. This operation is very useful for creating a salient feature in the middle of
a flat patch. Deletion is achieved by tracing the target seam line in the erasing mode.
This merges the separated patches together and thus flattens the area (Figure 4.7).
4.2.2
Operations on the 2D Pattern View
The 2D pattern view is mainly used to preview the pattern to be printed for sewing, but
it also works as an interface for advanced users to edit the pattern directly. The preview
helps the user to understand the relationship between the 3D model and 2D patches
17
(a)
(b)
(c)
(d)
Figure 4.6: Insertion of a seam line. (a) Before drawing a line. (b) After drawing a
line. (c) The seam line’s two endpoints snap at other seam lines. (d) After pulling the
seam line.
Figure 4.7: Deletion of a seam line.
18
and gives a sense of the labor required for assembling the patches. The system can
display how patches are connected by showing connectors or paired numbers (Figure
4.8). Connectors are useful for understanding the relationship on the screen and
numbers are useful as a printed reference on each patch. The system provides an
automatic layout and manual arrangement interface for preparing the final pattern to
be printed.
The system also allows the user to edit the patches directly by using the pulling interface. The user can grab the boundary of a patch and pull it to deform the shape [24].
We again use a peeling interface to adjust the size of area to be deformed. The effect
of 2D deformation immediately appears in the 3D view because of the physical simulation. The ability to deform an individual patch is useful for designing asymmetric
shapes such as a penguin body (Figure 4.9, Figure 4.19). The pull operation is also
useful for opening a dart line to make a flat patch swell more (Figure 4.10).
(a)
(b)
(c)
Figure 4.8: Patches connected to each other using connectors (b) and numbers (c).
Figure 4.9: Pulling a 2D patch.
19
Figure 4.10: Opening a dart line.
4.3
Implementation
We use standard triangle mesh for the representation of 3D model and the 2D patches.
We use relatively coarse mesh (1000-2000 vertices) to achieve interactive performance.
Each vertex, edge, and face of the 3D mesh is associated with corresponding entities in
the 2D mesh. A 3D mesh is always given as a result of applying a physical simulation
to the assembled 2D pattern. To be more precise, the physical simulation applied
to the 3D mesh is governed by the rest length of each edge, which is defined in the
2D mesh geometry. For each modeling operation, the system constructs the initial
2D patches and the 3D geometry corresponding to the input stroke, and then runs a
physical simulation to update the 3D geometry. The system then adjusts the patch
shape so that the simulation results match the input strokes. This section describes
these implementation details.
4.3.1
Physical Simulation
We use a simple static method for the physical simulation. We examined other, more
elaborate methods, such as finite element methods [14], dynamic simulation [13], and
energy minimization [32], but we found that the simple approach is best suited for our
purpose. It is easy to implement, fast enough for interactive modeling, and sufficiently
robust for dealing with adverse user operations. More importantly, it produces a
reasonable estimation of the resulting plush toy shape. As shown in Figure 4.12, it
successfully reproduces characteristic behaviors seen in the stuffed cloth.
In each simulation cycle, the system first moves each face slightly in its normal
direction to mimic the effect of internal pressure (Figure 4.11 a). The displacement of
a vertex vi is computed as a weighted sum of the neighboring faces (Fi )’ displacements:
X
f.normal · f.area
vi ← vi + α
f ∈Fi
X
f.area
.
(4.1)
f ∈Fi
The system then adjusts the length of each edge to preserve the integrity of the cloth
material [33] (Figure 4.11 b). We decided to prevent stretching only and tolerate
20
compression because plush toys’ rotund shape is generated from compression (small
winkles) along the seam lines. The displacement of a vertex vi is computed as a
weighted sum of the forces (tij ) from the neighboring edges (Ei ):
X
(e.leftface.area + e.leftface.area) tij
eij ∈Ei
vi ← vi + β X
(e.leftface.area + e.rightface.area)
(4.2)
eij ∈Ei
(
tij =
0.5 · (vj − vi ) ·
|vi −vi |−lij
|vi −vj |
0
if |vi − vj | ≥ lij
if
|vi − vj | < lij
(4.3)
where lij represents the rest length of an edge eij .
The second part (adjustment of edge length) runs ten times in each cycle to prevent
excessive stretch. It takes approximately 30 simulation cycles (2 seconds) to converge
in our typical examples. The parameter setting in our current implementation is a =
0.02 and b = 1. Although it is possible to show the result only after the convergence,
we decided to show the intermediate shape because test users preferred to see the
inflation process.
(a)
(b)
Figure 4.11: Our simple model to mimic stuffing effect. (a) the system first moves
each face to its normal direction slightly to mimic the effect of internal pressure. (b)
the system adjusts the length of each edge to preserve the integrity of cloth material.
4.3.2
3D Modeling
Creating a New Model: The input stroke is projected onto an invisible plane at
the center of the world facing the screen, and the system generates an initial two-sided
mesh inside of the closed region. Each side of the mesh is used directly as a 2D patch for
the model. The system then applies the physical simulation to the mesh. It inflates
the mesh to the direction perpendicular to the viewing direction, but its silhouette
actually becomes smaller as it inflates (Figure 4.12). The system waits until the
simulation converges and then starts to adjust the 2D pattern so that the simulation
21
result matches the input stroke. Specifically, the system calculates the distance di
from a vertex vi of the 3D mesh along the seam line to the corresponding point pi in
the projected input stroke along its normal direction, and moves the corresponding
2D vertex ui on the patch boundary to its normal direction by that amount di (Figure
4.12). We prevent self-intersection by detecting collision during vertex relocation.
After modifying the patch boundary, the system updates the 2D mesh by applying
Laplacian smoothing constraining the boundary vertices (Figure 4.13 d):

¯
¯2 

X ¯¯

X ¯¯ 
¯v i − 1
¯
arg min
v
(4.4)
j¯
¯

|Ni |
vi ∈B
/
v ¯
¯ 

vj ∈Ni
i
where Ni is the one ring neighbor of vi and B is the boundary.
The length of the edges in the updated 2D mesh is then used as the new rest length
in the simulation. The system repeats this adjustment process and the physical simulation until convergence. We also apply simple gaussian smoothing to the boundary
curve once in every five iteration cycles to maintain smoothness along the boundary
(Figure 4.13 c). It takes approximately 20 iterations (2 seconds) to converge in our
typical examples.
This simple algorithm works well in practice for our application. Figure 14 shows
some examples in which our algorithm successfully found appropriate 2D patches that
yielded the desired 3D shapes. In some situations, the input shape is not realizable
as a plush toy model consisting of two patches. For example, a sharp concavity is not
realizable without causing self-intersection in the 2D patch. In these cases, the system
terminates the optimization process, leaving a gap between the input stroke and the
3D model. This indicates that the desired shape is not possible with two patches. The
user must add additional seam lines to obtain more control.
Cut: The system constructs a curved surface by sweeping the cutting stroke on the
screen to the viewing direction and dividing the mesh along the surface. The righthand side of the surface is removed and a new mesh is created on the cross-section.
The cross-section is always developable, so the system simply flattens it and uses it as
a 2D patch.
Creation of a Part:
The system first projects the two endpoints of the input
stroke onto the base model surface. A plane that passes through these 3D points and
is facing toward the screen is constructed and the input stroke is projected onto it.
The system then draws an ellipse on the model surface for constructing a fat part and
draws a line for creating a thin part (Figure 4.15). The ellipse or the line (what we call
22
Figure 4.12: Adjustment process after creation. The system enlarges the 2D pattern
so that the simulation result matches the input stroke. The 2D boundary vertex (u)
moves in its normal direction by the amount proportional to the distance between the
corresponding 3D vertex (v) and the input stroke (p).
base curves) is also projected to the plane. The system generates a 2D mesh on the
projection plane in the area enclosed by the projected input stroke and the projected
base curve. The 2D mesh is duplicated and serves as 2D pattern and as the initial 3D
geometry for the added part. As in the initial model creation case, the flat two-sided
3D mesh is inflated by physical simulation. The silhouette of the added part gradually
shrinks and the system enlarges the 2D pattern so that the silhouette matches the
input stroke as in initial creation.
In case of a part with an elliptic base curve, the system cuts open the base surface
and stitches it with the newly created mesh. The result is a single connected mesh,
and physical simulation is applied uniformly to the entire mesh. On the other hand,
the system does not open the the base mesh in case of the linear base curve. The new
part is created as an independent closed mesh and the simulation is applied separately
to the base mesh and the new part. The base mesh inflates independently of the part
mesh, and the base curve is treated as a positional constraint in the simulation of the
part mesh (we simply do not move these vertices in the simulation cycle).
Pull: The pull operation is a bit involved because the system cannot directly modify
the 3D mesh and must do so indirectly by deforming the corresponding 2D pattern. As
23
(a)
(b)
(c)
(d)
Figure 4.13: Updating the 2D mesh geometry. (a) before deformation. (b) boundary
vertices are moved. (c) smoothing is applied to the boundary. (d) Laplacian smoothing
is applied to the internal vertices.
the user starts pulling a vertex on a seam line, the system first constructs a projection
plane that passes through the seam line (Figure 4.16). The mouse cursor position on
the screen is projected onto the projection plane, and it is used as a target position for
the pulled vertex during subsequent dragging. The system computes the displacement
δi in the local coordinate frame on the projected plane from the original position vi
to the target position hi , and moves the corresponding vertices ui 0 and ui 1 in the 2D
mesh in their local coordinate frames by that amount δi . These 3D and 2D coordinate
frames are defined by the pulled vertex’s normal vector and the direction of the seam
line. As in the adjustment process after the initial creation, the system updates the
2D mesh by applying Laplacian smoothing and then uses the result to define the new
rest edge length for guiding simulation. The system iterates this displacement process
with physical simulation until it converges. To achieve a smooth deformation, the
system also moves the surrounding vertices in the 2D mesh using the curve manipulation method introduced in Igarashi et al. [24]. It enlarges the region to be deformed
proportional to the displacement of the pulled vertex.
Insertion and Deletion of Seam Lines: Insertion of a new seam line is
straightforward. The system simply cuts the patch along the added seam line and
updates the meshes accordingly. Deletion is more complicated because the merged
patch is not necessarily developable. The system applies an approximate flattening
operation [9] to the merged 3D surface to obtain the geometry of the new 2D patch.
4.4
Results
Plushie is implemented as a JavaTM program. Construction of 2D patterns and a
physical simulation run in real-time on a 1.1 GHz Pentium M PC. We designed a
couple of plush toys using our system and created a real toy based on the printed
pattern. A modeling session typically takes 10-20 minutes and sewing takes 3 -5
hours. Figure 4.17 shows a plush toy and Figure 4.18 shows a balloon model designed
24
Figure 4.14: Physical simulation and shape adjustment. The red lines indicate the
input strokes. The top row shows the result of converting the input into patterns
directly, and the bottom row shows the outcome when the adjustment process is
applied to the patterns. The green shapes in the middle show the simulation results
and the brown ones on the right show the real fabric models, both resulting from the
2D pattern on the left.
25
(a)
(b)
(c)
Figure 4.15: Creation of a part. The system projects the input stroke to a working
plane and cuts the base mesh with either an elliptic curve or a line (b). The 3D
geometry is constructed by creating a mesh between the projected stroke and the base
curves (c).
Figure 4.16: Pulling a vertex on a seam line.
26
Figure 4.17: A plush toy designed in our system.
in our system. It shows that the physical simulation successfully captures the overall
shape of the real objects. We interviewed with professional balloon designers and they
supported our system, saying that it can significantly reduce the time necessary for
designing original balloon.
The user can assign different textures to individual patches (Figure 4.19). Therefore
the user can explore various design possibilities before actuary sewing the real fabric.
These models also demonstrate the effectiveness of thin parts.
We tested usability of Plushie. Target users were 38 visitors to National Museum
of Emerging Science and Innovation in Japan. Using Plushie, they made some 3D
models (Figure 4.20). According to interview, many people said “I enjoyed,” “It was
interesting.” And some people say “it’s so exciting to make an original plush toy!”
“inflation looks realistic.” However it was difficult to draw by mouse, and to make
extrusion for children (age 6-10). Using the printed 2D patterns, some people made
27
Figure 4.18: A balloon designed in our system.
Figure 4.19: Example of texture changed. These models have many thin parts.
28
Figure 4.20: Visitors to museum made some original 3D models.
original plush toys (Figure 4.21). They are beginners to make plush toys. In this way,
we can design and make original plush toy easily.
We also ran a small workshop to have novice users try our system (Figure 4.23).
Nine children, 10-14 years old, joined the workshop accompanied by their parents.
We gave a brief tutorial at the beginning and had them design their own plush toys
using the system. It took about an hour for the design. They then printed the
designed pattern and sewed a real toy in approximately 3 hours. Figure 4.24 shows
a couple of plush toys created in the workshop. Participants quickly learned how to
use the system and successfully designed the 3D models they wanted, with some help
from volunteers. Furthermore, they enjoyed the process. These toys were their own
creations and one-of-a-kind designs. Participants also gave us valuable feedback for
future improvement. They wanted to have some auxiliary functions such as the ability
to design symmetric parts and remove existing parts, but no one complained about
the quality of the visual simulation. A perfectly accurate simulation is not necessary
because many small variations inevitably occur during the real sewing and stuffing
process.
4.5
Limitations and Future Work
Our 3D pull operation works well for inter-patch seams as shown in Figure 4.5, but not
for intra-patch seams, i.e., darts. If the user pulls a dart line outward in the 3D view,
the system tries to move the corresponding patch boundary to the normal direction,
which causes a self-intersection within the patch (Figure 4.25 left). We currently rely
on the 2D pull operation to open a dart as in Figure 10, but we would like to allow
more intuitive operation on the darts in the 3D view. For example, we want the system
to automatically open the darts, for example, when the user pulls a dart outward in
29
Figure 4.21: These are results of 3D model in the userstudy.
Figure 4.22: These are real plush toys.
30
Figure 4.23: Children joined our workshop accompanied by their parents.
31
Figure 4.24: Example of original plush toys designed and created by children in the
workshop.
32
Figure 4.25: Limitation of our 3D pulling operation.
the 3D view (Figure 4.25 right).
Interactive 3D modeling assisted by concurrent physical simulation can be a powerful tool in many application domains. For example, if one can run an aerodynamic
simulation during the interactive design of an airplane model, it might be helpful to
intelligently adjust the entire geometry in response to the user’s simple deformation
operations so that it can actually fly. This kind of interaction would make it easier for
designers to pursue aesthetic goals while satisfying engineering constraints. Real-time
simulation does require high-performance computing resources, but some meaningful
support should be possible by carefully limiting the target task and designing appropriate interfaces as shown in this paper. We hope that our work inspires future work
in this direction.
33
Chapter 5
Conclusion
In order to design an original plush toy, one needs to construct a appropriate 2D
pattern. However, it is difficult for ordinary people to design 2D pattern appropriately.
To address these problems, we are developing two systems for pattern design. The first
system, Pillow, starts with an existing 3D model and lets the user interactively specify
segmentation boundaries by drawing seam lines on the model surface. Given the userdefined segmentation, the system generates 2D patterns by flattening the pieces. The
system then visualizes the shape of the resulting plush toy by applying a simple physics
simulation. This closed loop interaction allows the user to experiment with various
seam line designs without actually sawing a real fabric. The second system, Plushie, is
a tool for desinging an original plush toy from scratch using a sketch-based modeling
interface under physical constraints. The resulting model is always associated with
a 2D cloth pattern and thus the user can generate a model that is guaranteed to be
realizable as a plush toy. These two systems make the construction of 2D patterns
easier and enable the user to design his or her own original plush toys. We introduced
some results of sawing plush toys and balloon by non-professional used our systems.
34
Chapter 6
Future Work
We currently do not consider the bending energy in our simulation, so the material
is a bit too flexible. Based on the experience of our users, this is not a serious problem for most target materials, but appropriate treatment of bending can extend the
applicability of our system to more inflexible materials such as felt and leather. We
plan to prepare several predefined material parameters and allow the user to choose
the desired setting for each target material.
Apart from adding a miscellaneous utility function to the system, we would like
to incorporate more domain knowledge into the system so that an inexperienced user
can design more sophisticated patterns. For example, it is necessary to insert several
darts into a patch if the user wants to have it swell more. We would like to develop
an intelligent interface that allows the user to pull the center of a patch to its normal
direction and then automatically insert darts. It would be also interesting to provide
an intelligent guide to help the sewing process, such as showing the user the order in
which they should sew the patches (Agrawala et al. [34]) and providing an estimate of
the time required to complete the sewing.
35
References
[1] Robert C. Zeleznik, Kenneth P. Herndon, and John F. Hughes. Sketch; an interface for sketching 3d scenes. In In Proceedings of SIGGRAPH 96, pages 163–170,
1996.
[2] Amit Shesh and Baoquan Chen. Smartpaper: An interactive and user-friendly
sketching system. In In Eurographics Computer Graphics Forum, volume 23,
pages 301–310, 2004.
[3] Takeo Igarashi, Satoshi Matsuoka, and Hidehiko Tanaka. Teddy: A sketching
interface for 3d freeform design. In ACM SIGGRAPH 1999, pages 409–416, 1999.
[4] Andy Nealen, Olga Sorkine, Marc Alexa, and Daniel Cohen-Or. A sketch-based
interface for detail-preserving mesh editing. In ACM Transactions on Computer
Graphics (In ACM SIGGRAPH 2005), pages 1142–1147, 2005.
[5] Olga Karpenko and John F. Hughes. Smoothsketsh: 3d free-form shapes from
complex sketches. In ACM Transactions on Computer Graphics (In ACM SIGGRAPH 2006), volume 23, 2006.
[6] Olga Sorkine, Daniel Cohen-Or, Rony Goldenthal, and Dani Lischinski. Boundeddistortion piecewise mesh parameterization. In In Proceedings of IEEE Visualization ’02, pages 355–362, 2002.
[7] Bruno Lèvy, Sylvain Petitjean, Nicolas Ray, and Jèrome Maillot. Least squares
conformal maps for automatic texture atlas generation. In ACM Transactions on
Graphics, volume 21, pages 362–371, 2002.
[8] Alla Sheffer and Eric de Sturler. Smoothing an overlay grid to minimize linear
distortion in texture mapping. In ACM Transactions on Graphics, volume 21,
pages 874–890, 2002.
[9] Alla Sheffer, Bruno Lèvy, Maxim Mogilnitsky, and Alexander Bogomyakov.
ABF++: Fast and robust angle based flattening. In ACM Transactions on Graphics, volume 24, pages 311–330, 2005.
36
[10] Jun Mitani and Hiromasa Suzuki. Making papercraft toys from meshes using
strip-based approximate unfolding. In ACM Transactions on Computer Graphics
(In ACM SIGGRAPH 2004), volume 23, pages 259–263, 2004.
[11] Yang Liu, Helmut Pottmann, Johannes Wallner, Wenping Wang, and Yong-Liang
Yang. Geometric modeling with conical meshes and developable surface. In ACM
Transactions on Computer Graphics (In ACM SIGGRAPH 2006), volume 23,
2006.
[12] David Baraff and Andrew Witkin. Large steps in cloth simulation. In In Proceedings Computer Graphics, Annual Conference Series, pages 43–54, 1998.
[13] Kwang-Jin Choi and Hyeong-Seok Ko. Stable but responsive cloth. In ACM
Transactions on Graphics (In Proceedings of SIGGRAPH 2002), volume 21, pages
604–611, 2002.
[14] Eitan Grinspun, Petr Krysl, and Peter Schröder. Charms: A simple framework
for adaptive simulation. In ACM Transactions on Graphics, volume 21, pages
281–290, 2002.
[15] Takashi Ijiri, Shigeru Owada, Makoto Okabe, and Takeo Igarashi. Floral diagrams and inflorescences: Interactive flower modeling using botanical structural
constraints. In ACM Transactions on Computer Graphics (In ACM SIGGRAPH
2005), volume 24, pages 720–726, 2005.
[16] Makoto Okabe, Shigeru Owada, and Takeo Igarashi. Interactive design of botanical trees using freehand sketches and example-based editing. In In Proceedings
of Eurographics 2005, volume 24, pages 487–496, 2005.
[17] Peter Wonka, Michael Wimmer, François Sillion, and William Ribarsky. Instant
architecture. In ACM Transactions on Graphics, volume 22, pages 669–677, 2003.
[18] Pascal Müller, Peter Wonka, Simon Haegler, Andreas Ulmer, and Luc Van Gool.
Procedural modeling of buildings. In ACM Transactions on Graphics, ACM Press,
volume 25, pages 614–623, 2006.
[19] http://sketchup.google.com/.
[20] http://www.blender.org/.
[21] O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl, and H.-P.Seidel. Laplacian surface editing. In In Proceedings of the symposium on Geometry processing,
pages 175–184, 2004.
37
[22] Yizhou Yu, Kun Zhou, Dong Xu, Xiaohan Shi, Hujun Bao, Baining Guo, and
Heung-Yeung SHum. Mesh editing with poisson-based gradient field manipulation. In ACM Transactions on Graphics, volume 23, pages 644–651, 2004.
[23] Jin Huang, Xiaohan Shi, Xinguo Liu, Kun Zhou, Li-Yi Wei, Shanghua Teng, Hujun Bao, Baining Guo, and Heung-Yeung Shum. Subspace gradient domain mesh
deformation. In ACM Transactions on Graphics (In Proceedings of SIGGRAPH
2006), volume 23, 2006.
[24] Takeo Igarashi, Tomer Moscovich, and John F. Hughes. As-rigid-as-possible
shape manipulation. In ACM Transactions on Computer Graphics (In ACM
SIGGRAPH 2005), volume 24, pages 1134–1141, 2005.
[25] LECTRA. Design concept furniture.
[26] Dan Julius, Vladislav Kraevoy, and Alla Sheffer. D-charts: quasi developable
mesh segmentation. In Computer Graphics Forum. In Proceedings of Eurographics
2005, volume 24, pages 981–990, 2005.
[27] Takeo Igarashi and John F. Hughes. Clothing manipulation. In 15th Annual
Symposium on User Interface Software and Technology (In ACM UIST 2002,
pages 91–100, 2002.
[28] Philippe Decaudin, Dan Julius, Jamie Wither, Laurence Boissieux, Alla Sheffer,
and Marie-Paule Cani. Virtual garments: A fully geometric approach for clothing
design. In Computer Graphics Forum (In Eurographics 2006 Proc.), volume 25,
pages 625–634, 2006.
[29] Mark Masry and H. Lipson. A sketch-based interface for iterative design and
analysis of 3d objects. In In Proceedings of Eurographics Workshop on SketchBased Interfaces, pages 109–118, 2005.
[30] Yuki Mori and Takeo Igarashi. Pillow: Interactive pattern design for plush toys.
In DVD publication at SIGGRAPH 2006 Sketches & Applications., 2006.
[31] Takeo Igarashi and John F. Hughes. A suggestive interface for 3d drawing. In
14th Annual Symposium on User Interface Software and Technology (In ACM
UIST 2001), pages 173–181, 2001.
[32] David E. Breen, Donald H. House, and Michael J. Wozny. Predicting the drape
of woven cloth using interacting particles. In in Proceedings of SIGGRAPH 1994,
pages 365–372, 1994.
[33] Mathieu Desbrun, Peter Schroder, and Alan Barr. Interactive animation of structured deformable objects. In In Proceedings of Graphics Interface 1999, pages
1–8, 1999.
38
[34] Maneesh Agrawala, Doantam Phan, Julie Heiser, John Haymaker, Jeff Klingner,
Pat Hanrahan, and Barbara Tversky. Designing effective step-by-step assembly
instructions. In ACM Transactions on Graphics (In Proceedings of SIGGRAPH
2003), volume 22, pages 828–837, 2003.
39