Figure 9. 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, and (d) after pulling the seam line.
Figure 12. Pulling a 2D patch.
Figure 13. opening a dart line.
Figure 10. Deletion of a seam line.
Figure 11. Patches connected to each other using connectors (b) and
patch. The system provides an automatic layout and manual
arrangement interface for preparing the final pattern to be
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.
12 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 belly (Figure 12). The pull
operation is also useful for opening a dart line to make a flat
patch swell more (Figure 13).
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
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 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 11). Connectors
are useful for understanding the relationship on the screen
and numbers are useful as a printed reference on each
This section briefly describes the implementation of
Plushie. A more detailed description is found in our original
18 We use a standard triangle mesh for the representation of the 3D model and 2D patches. We use a 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 and the rest length is
defined in the 2D mesh. 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.
5. 1. Physical simulation
We use a simple static method for the physical simulation.
We examined other, more elaborate methods, such as
finite element methods,
8 dynamic simulation,
5 and energy
4 but we found that the simple approach is