from designing products to fabricating them from planar materials

12
74 November/December 2010 Published by the IEEE Computer Society 0272-1716/10/$26.00 © 2010 IEEE Feature Article From Designing Products to Fabricating Them from Planar Materials Charlie C.L. Wang, Yunbo Zhang, and Hoi Sheung Chinese University of Hong Kong F or more than a decade, researchers have used CG techniques to simulate the behav- ior of planar (sheet) materials such as cloth, leather, and paper in computer animation or VR systems. 1 There are also a few commercial CAD systems for industrial products fabricated from sheets. However, industrial designers rarely use these systems’ 3D tools because those tools don’t fit with their habits. The tools either don’t balance freedom and design ac- curacy well or don’t allow reuse of existing designs. To create a more useful tool for designers of clothing and other products, we developed a system that automates the pro- cess from design to fabrication. To create products customized for consumers, our system au- tomatically maps designs onto different reference model shapes and then unfolds them into 2D pat- tern pieces. A map-guided algorithm then posi- tions the unfolded pieces according to industrial requirements. The Need for Better Tools Here, we discuss the conventional way to create customized clothing, describe CAD tools that de- signers in the clothing industry expect, review existing methods, and analyze why today’s tools can’t satisfy designers. Conventional Fabrication of Customized Clothing Without CAD tools, customized products are fab- ricated by conventional tailoring. For example, consider the wetsuit in Figure 1a. The tailor first produces a loosely fitting wetsuit for the customer and then revises it through trial and error to re- move the unwanted fabric. However, such wetsuits are inaccurate, and the tailoring is time-consuming. Converting a freehand design into a final product isn’t easy, and whether the revised wetsuit fits the customer’s body relies on the tailor’s skills. We de- veloped our system to overcome these difficulties (see Figure 1b). What Designers Expect Clothing designers basically expect three types of CAD tools. Freehand-drawing tools. The most natural way for designers to create new fashions is to use a free- hand-drawing tool that functions like drawing on paper with a pencil. This is one reason why sketch-based interfaces are popular in many 3D CG applications. Moreover, designers want tools for creating and editing curves such as the widely used spline curve tools in CAD systems because these tools can define shapes more precisely. The curves will specify the designed product’s final shape. Some CAD systems (for example, Lectra; www.lectra.com/en/index.html) provide such tools. However, these tools frequently require support from other tools for design transformation and unfolding. A geometric-modeling system automates design and fabrication of products customized for consumers. Specifically, it maps designs onto different reference model shapes and then unfolds them into 2D pattern pieces. A map-guided algorithm automatically positions the pieces according to industrial requirements.

Upload: ccl

Post on 23-Sep-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: From Designing Products to Fabricating Them from Planar Materials

74 November/December2010 PublishedbytheIEEEComputerSociety 0272-1716/10/$26.00©2010IEEE

FeatureArticle

From Designing Products to Fabricating Them from Planar MaterialsCharlie C.L. Wang, Yunbo Zhang, and Hoi Sheung Chinese University of Hong Kong

For more than a decade, researchers have used CG techniques to simulate the behav-ior of planar (sheet) materials such as cloth,

leather, and paper in computer animation or VR systems.1 There are also a few commercial CAD

systems for industrial products fabricated from sheets. However, industrial designers rarely use these systems’ 3D tools because those tools don’t fit with their habits. The tools either don’t balance freedom and design ac-curacy well or don’t allow reuse of existing designs.

To create a more useful tool for designers of clothing and other products, we developed a system that automates the pro-cess from design to fabrication. To create products customized for consumers, our system au-

tomatically maps designs onto different reference model shapes and then unfolds them into 2D pat-tern pieces. A map-guided algorithm then posi-tions the unfolded pieces according to industrial requirements.

The Need for Better ToolsHere, we discuss the conventional way to create customized clothing, describe CAD tools that de-signers in the clothing industry expect, review existing methods, and analyze why today’s tools can’t satisfy designers.

Conventional Fabrication of Customized ClothingWithout CAD tools, customized products are fab-ricated by conventional tailoring. For example, consider the wetsuit in Figure 1a. The tailor first produces a loosely fitting wetsuit for the customer and then revises it through trial and error to re-move the unwanted fabric. However, such wetsuits are inaccurate, and the tailoring is time-consuming. Converting a freehand design into a final product isn’t easy, and whether the revised wetsuit fits the customer’s body relies on the tailor’s skills. We de-veloped our system to overcome these difficulties (see Figure 1b).

What Designers ExpectClothing designers basically expect three types of CAD tools.

Freehand-drawing tools. The most natural way for designers to create new fashions is to use a free-hand-drawing tool that functions like drawing on paper with a pencil. This is one reason why sketch-based interfaces are popular in many 3D CG applications. Moreover, designers want tools for creating and editing curves such as the widely used spline curve tools in CAD systems because these tools can define shapes more precisely. The curves will specify the designed product’s final shape. Some CAD systems (for example, Lectra; www.lectra.com/en/index.html) provide such tools. However, these tools frequently require support from other tools for design transformation and unfolding.

Ageometric-modelingsystemautomatesdesignandfabricationofproductscustomizedforconsumers.Specifically,itmapsdesignsontodifferentreferencemodelshapesandthenunfoldstheminto2Dpatternpieces.Amap-guidedalgorithmautomaticallypositionsthepiecesaccordingtoindustrialrequirements.

Page 2: From Designing Products to Fabricating Them from Planar Materials

IEEEComputerGraphicsandApplications 75

Tools for generating precise 2D pieces. Sheet-manufacturing industries generally fabricate the fi-nal products from 2D pieces of material, a process that warps the pieces and stitches them together. Ideally, the warping and the stitching should be stretch-free; a stretch will produce elastic energy in the final product that debases its fitness, cre-ates unwanted wrinkles, and even leads to mate-rial fatigue. So, designers need a way to unfold the designed 3D pieces into 2D pieces that preserve the correct length at critical places.

Design transformation tools. After carefully design-ing a product’s shape around one reference model (for example, human bodies), designers would like an automated tool to transfer this product to various reference model shapes. They can then re-peatedly use one design to generate products for different types of customers.

Existing MethodsTo give designers better interfaces for designing toys and clothing, CG researchers have developed various sketch-based methods.

Emmanuel Turquin and his colleagues developed a system that constructs a virtual garment’s 3D shape from contour lines that designers draw us-ing a sketch-based interface.2 This system classifies contour lines as a boundary if they cross the virtual 3D human body or as a silhouette if they don’t. It uses the distance field around the mannequin to determine contour curves’ 3D positions. From these curves, it reconstructs the final 3D mesh sur-face while mimicking cloth tension and modeling surface folds. However, Turquin and his colleagues didn’t address how to convert 3D virtual clothes into 2D pieces to fabricate the real cloth products.

Levent Kara and Kenji Shimada developed a sketch-based modeling system for creating 3D shapes from industrial designs.3

Yuki Mori and Takeo Igarashi recently intro-duced a sketch-based system for plush toys4 that uses modeling tools similar to those in their pre-vious Teddy system.5 The newer system uses the ABF++ algorithm6 to unfold the final 2D pieces from the 3D shape. However, because the algo-rithm obtains the optimal parameterization by minimizing the angle distortion of polygons, it doesn’t preserve the length of curves on surface pieces. So, the 2D pieces’ dimensions could differ considerably from their corresponding 3D shape. This is acceptable for applications such as plush toys, for which elastic stretch is allowable. How-ever, such stretch on a high-accuracy product such as a wetsuit would make its wearer very uncom-

fortable. So, we need a new method to preserve pieces’ dimensions during unfolding.

More seriously, variation in the length of neigh-boring pieces’ edges makes those pieces difficult to stitch together. Sewing together edges with different lengths produces wrinkles, which is unacceptable to the clothing industry. To solve a similar problem, Philippe Decaudin and his colleagues deformed a mesh surface so that it locally approximates a coni-cal surface.7 It’s a sufficient (but not necessary) condition for a conical mesh surface to be “flatten-able.” Making every mesh surface be conical every-where is almost impossible; therefore, the surface processed by their method isn’t fully flattenable. Moreover, customers prefer the shapes of products such as wetsuits and shoes to be as close as possi-ble to the human body. Directly applying Decaudin and his colleagues’ method to every piece will make the products unfit. So, we need new methods to preserve the unfolded pieces’ dimensions at certain

(a)

(b)

Figure1.Twowetsuits.(a)Conventionaltailoringproducesaplanardesign.(b)Thiswetsuit,madefrom2Dpiecesgeneratedbyoursystem,isaspatialdesign.

Page 3: From Designing Products to Fabricating Them from Planar Materials

76 November/December2010

FeatureArticle

places or to process the surface to be more easily flattened while minimizing deformation.

To solve these problems, we can implement a design transformation tool such as we mentioned previously by using mesh generation that’s compat-ible with template warping8 and free-form deforma-tion.8,9 Once all reference models Hj (j = 1, …, n) have the same mesh connectivity, we can easily apply free-form deformation to warp the product designed around Hi to the shape around Hj (i ≠ j).

An Overview of Our SystemTo generate 2D patterns from 3D designs (see Fig-ure 2), our system provides the following types of geometric-modeling tools.

Freehand DesignThe freehand-drawing tools let designers specify design curves on a reference model’s mesh surface. Users can also snap points on a curve to drag it to a desired shape. Similar to other drawing-based de-sign systems, our system provides functions such as mirror copying and curve trimming and erasing. It stores the curves as an attachment to the reference model’s polygonal mesh surface so that users can further adjust the curves and reuse them.

TrimmingAfter the design has been approved, the system duplicates the reference model’s mesh surface and uses the design curves (the blue curves on the man-nequin in Figure 2) to trim it into 3D mesh pieces. The design curves become boundary curves after trimming. The system then transfers the feature curve information (the red curves on the manne-quin in Figure 2) to the 3D mesh pieces. This in-formation is important in the next step, unfolding.

UnfoldingThe system unfolds the 3D pieces into 2D pieces while preserving the lengths of feature curves and boundary curves. The invariant lengths of the fea-ture curves ensure the fitness of the final fabricated product; the invariant lengths of the boundary curves prevent a sewing problem between neigh-boring pieces.

Geometry ProcessingHowever, some 3D pieces might be highly curved and unflattenable, so that retaining the lengths of all the feature curves isn’t possible. To solve this problem, we developed a geometry-processing tool that deforms such pieces into similar shapes that are flattenable.

Layout ArrangementIt’s unacceptable to industrial users if the unfolded 2D pieces are randomly oriented and placed. So, a layout arrangement tool lets users determine the flattened pieces’ positions and orientation accord-ing to a guiding map. The system outputs the re-sultant layout into a DXF file in accordance with standard garment CAD systems to generate fur-ther industrial-processing information that’s used to fabricate the product.

Design TransformationOnce our system finds the point-to-point corre-spondence between two reference models, it can easily transform the design from one model to the other. Then, it can generate 2D patterns for a dif-ferent consumer (see Figure 2b).

ImplementationHere’s how we implemented the types of tools.

Freehand DesignThe curve-creating tool lets users specify control points on the design curve. Then, the system gener-ates a subdivision curve passing through the points by refining the line segments linking them three times, using the modified butterfly mask.10 The de-sign curve is treated as a 2D curve on the viewing plane. Users can move the control points to change the curve’s shape. After the user constructs the curve, the system projects the refined data points on the curve onto the reference model’s triangular mesh surface and links them by discrete geodesic curves. It stores the projected design curve as a se-quence of line segments in triangles together with the control points for its construction.

Because the viewing direction for further editing a curve might not be the same as the one for cre-ating it, the curve-editing tool works differently—it processes the curve in 3D (see Figure 3). First, the user specifies the portion of a curve to edit. This partial curve’s original control points become control points for further editing. Sometimes, the system will find no control point (for example, the part to be edited was between two control points during construction). In this case, it uniformly samples the curve into four to six points by its arc

Similar to other drawing-based design systems, our system provides

functions such as mirror copying and curve trimming and erasing.

Page 4: From Designing Products to Fabricating Them from Planar Materials

IEEEComputerGraphicsandApplications 77

(a)

(b)

Figure2.Usingoursystemtodesignandfabricateawetsuit.(a)Thestepsfromdesigningthewetsuittofabricatingitonaspecifichumanmodel.Thedesignerusesfreehand-drawingtoolstoplaceadesignonthemeshsurfacegeneratedfromascannedhumanbodypointcloud.Thesystemthentrimsthewetsuit’ssurfaceinto3Dpieces,unfoldstheminto2Dpieces,andoutputsthepatterntocommercial2DgarmentCADsoftware.Thecustomizedwetsuitisfabricatedfromthese2Dpieces.(b)Designtransformation.Thedesignofthewetsuitforonemodelofahumanbodycanbeeasilytransferredtoadifferenthumanmodeltogenerateapattern.

Page 5: From Designing Products to Fabricating Them from Planar Materials

78 November/December2010

FeatureArticle

length; these sample points become control points.Then, users can move the control points to

adjust the curve. During movement, the control points and refined data points snap onto the ref-erence model’s surface. The system does this by tracking these points to their closest point on the mesh surface in real time with the help of space

partitioning. The system uses the modified but-terfly mask to compute the edited curve’s shape, this time in 3D. So, interference might exist be-tween the curve and the mannequin. The system eliminates this interference by linking the refined data points on the reference model’s surface with discrete geodesic curves.

TrimmingFor a reference model’s mesh surface M, the sys-tem first duplicates triangles with no design curve into a new triangular-mesh model M′. Then, it re-triangulates the triangles with design curves one by one using the curves’ line segments.

To carry out triangulation on the plane of these triangles, the system uses constrained Delaunay triangulation (CDT). To make CDT robust to nu-merical errors, we process the line segments in a triangle by

1. finding the intersections between line segments,2. inserting intersections between line segments

and the triangle edges,3. eliminating nearly overlapped (or partially over-

lapped) line segments, and4. merging nearly coincident points.

This is similar to the method Jun Mitani presented.11

The system attaches the resultant CDT triangles onto the duplicated mesh model M′. Users can then easily determine whether a triangle edge is derived from a design curve (or a feature curve) on M through local search using the correspondences of the triangles between M′ and M. If the feature curves on M aren’t represented by triangle edges, the system will introduce them into CDT to become triangle edges on M. Finally, the system duplicates the triangle edges generated from the design curves so that the regions on M′ surrounded by these edges are separated into mesh pieces.

UnfoldingTo generate 2D pieces that keep the dimensions at critical places, we developed WireWarping, an unfolding algorithm that preserves the feature curves’ length.12

Basically, WireWarping simulates the physical phenomenon of warping tendon wires from a 3D wireframe onto a plane. The wires can be warped but not stretched, thus retaining their lengths. The feature curves and the 3D pieces’ boundaries serve as the tendon wires.

Let’s first consider how to warp the simplest wireframe—the boundary curve of a mesh surface piece MP (see Figure 4b), which consists of n tri-

(a) (b) (c)

(e)(d)

Figure3.Designcurvesareeditedin3D.(a)Thisimageshowsthecurvetobeeditedonafoot.(b)Thecurvecan’tbeeditedin2Dbecausepartofitisatthebackofthefootsurfaceunderthecurrentview.(c)Theuserhaseditedthecurvebydraggingcontrolpoints.(d)Interferencebetweenthe3Dcurveandthemannequinoccursbecauseonlydatapointsaresnappedontothefoot.(e)Thesystemeliminatesinterferencebylinkingsnappeddatapointswithdiscretegeodesiccurves.

(a)

(b)

(c)

αi

θi

qi

qi

y

x

Figure4.Warpingtheboundaryofagivenmeshpieceintoanoptimal2Dshapewhilepreservingitsedges’lengths.(a)Thesurfacesofafoot,(b)themeshsurfacewiththe3Dsurfaceangleαiontheboundaryvertexqidefined,and(c)theflattened2Dpiecewiththe2Dangleθiassociatedwithqispecified.TheWireWarpingalgorithmcanpreservethelengthoffeatureandboundarycurvesduringflattening.

Page 6: From Designing Products to Fabricating Them from Planar Materials

IEEEComputerGraphicsandApplications 79

angular edges. There are many ways to warp such a simple wire into different 2D polygons with-out changing its length. Among all the possible 2D polygons, we seek the one most similar to the 3D shape of MP’s boundary. So, we want the one that minimizes the sum of angle variation at all boundary nodes—that is,

minq

i i

i

n

i

θ α−( )=∑ 2

1

, (1)

where qi is the 2D angle associated with the bound-ary vertex qi, ai is the boundary vertex’s 3D surface angle on MP that’s computed by adding all the tri-angles’ angles at qi, and MP has n boundary vertices.

To preserve the boundary edge lengths during warping, we add two constraints:

From the closed-path theorem, we know that if a simple non-self-intersecting planar closed path is counterclockwise, the total turning must be 2π.

The 2D curve should still be closed. That is, with the determined angle qi, the first point on the curve must have the same x and y coordinates as those of the last point on the curve (see Fig-ure 4c).

We add hard constraints derived from these con-straints to the optimization framework to com-pute the optimal values of qi. To efficiently solve the constrained-optimization problem in Equation 1, we compute optimal qi instead of qi.

In our system, a 3D piece to be unfolded is usu-ally subdivided into several such simple wireframes by feature curves and boundary curves. If we use the method we just discussed to unfold them one by one, the resultant 2D wires generally can’t be stitched together without distortion. To solve this problem, for each vertex v on a feature curve that’s shared by m simple wireframes MPj (j = 1, …, m), we add the hard constraint

θ πMj

mPj=∑ ( ) ≡

12v

if v isn’t on the boundary of the 3D piece. qMPj denotes the 2D angle at v in the warped simple wireframe MPj . Integrating all the wireframes on the 3D piece into one optimization framework by adding these constraints produces unfolded pieces that preserve the feature curve and boundary curve lengths.

We can determine the planar positions of ver-tices neither on the feature curves nor on the boundary curves by a shape-preserving mesh pa-rameterization method,13 after fixing the vertices on the wires.

Geometry ProcessingWith WireWarping, we can successfully unfold nearly developable polygonal-mesh surfaces into 2D pieces. We derive the definition of “discrete devel-opable” from the definition of “developable sur-face” in differential geometry: a polygonal mesh surface is discrete developable if the sum of polyg-onal angles at each nonboundary vertex is 2π. In a nearly developable mesh surface, the angle sum at nonboundary vertices is close to 2π.

Those mesh surfaces that are far from being dis-crete developable will create great area errors on the 2D pieces generated by WireWarping. So, we devel-oped a tool to convert an undevelopable mesh surface MP into a nearly developable one, MP

F . The processed mesh surface MP

F must approximate the shape of MP. Again, we formulate this as a constrained-optimization problem:

min . .intp V

d pJ s t∈

( ) ≡ α πv 2 , (2)

where Jd is the objective function measuring the deformation between MP and MP

F , Vint is the set of nonboundary vertices on MP, and a(vp) gives the summed polygon angles at vertex vp. Boundary vertices are fixed to maintain the assembly rela-tionship between neighboring pieces.

The most common method to measure the de-formation is to employ

Jd p pp

= −∑ v v02,

with vp0 being the closest point of vp on MP. How-

ever, this objective function can prevent the move-ment of vertices.14

To solve this constrained-optimization problem, we propose a least-norm approach. First, we linear-ize the nonlinear developable constraints a(vp) ≡ 2π by using the Taylor expansion and truncating the nonlinear terms. Then, we replace the un-known variables vp with dp, with v p p p

0 = +v d . There are 3|Vint| unknown variables but only |Vint| linear equations derived from the developable con-straints. (|…| denotes the number of elements in a set.)

In our system, a 3D piece to be unfolded is usually subdivided into several simple wireframes by feature curves and boundary curves.

Page 7: From Designing Products to Fabricating Them from Planar Materials

80 November/December2010

FeatureArticle

So, we can apply the least-norm approach to solve d = dp with the minimal norm ||d||. We repeat these steps until the deformed mesh surface MP

F becomes nearly developable. Furthermore, to make the numerical computation more stable, we use the least-squares method to update vertex positions.14

In our experience, some users have felt that us-ing MP

F changes a 3D piece’s shape too much. They preferred an interpolation between MP and MP

F ,

M t M tMPt

P PF= −( ) +1 ,

with t ∈ (0, 1) as long as the area error of the un-folded MP

t is below an acceptable ratio compared with its 3D surface. For example, in Figure 5, the area error for the collar piece is large before in-terpolation (see Figure 5b) but small after it (see Figure 5c). We also unfold the processed mesh sur-faces with WireWarping.

Layout ArrangementAt this point, the randomly placed 2D pieces are in a tangle. To solve such a problem, Bruno Lévy and his colleagues employed a Tetris-like method to lay out the 2D pieces.15 However, industrial us-ers would still have difficulty deciding where a 2D piece of wetsuit should be in 3D on the human body. To cope with this, we developed map-guided layout arrangement.

The guiding map is the parameterized 2D mesh MG of a reference model HG (for example, see Figure 6a). For this, we employ Lévy and his

colleagues’ method. So, for a point on any other reference model HA, we can easily find the corre-sponding point on MG once we’ve established the cross-parameterization between HA and HG. We denote such a mapping as ΩH MA G⇔ .

For a flattened mesh piece MP for the wetsuit of mannequin HA, we denote the bijective mapping from any point on MP to a point on HA as ΩM HP A⇔ . We can retain this mapping in the previous model-ing steps of trimming and unfolding by storing each triangle that was trimmed from the triangles on the model of the human body. Using ΩH MA G⇔ and ΩM HP A⇔ , we obtain the bijective mapping ΩM MP G⇔ from MP to the guiding map. Using Ken Shoemake’s method,16 we compute the rotation matrix R and the translation vector T from

p p Mk k P∀ ∈ to

p p pk k M M kP G' ' = ( ) ⇔Ω

by least-squares fitting. In this way, we determine the locations and orientations of all 2D pieces ac-cording to the guiding map.

However, because the guiding map consists of a few separate regions, the points on flattened pieces might be mapped to different regions, which is unsatisfactory. So, for a piece MP whose points are mapped to different regions, we cluster the points into different sets according to their mapped region. To determine R and T , we use only the points in the set with the maximal number of points.

If we use the determined R and T to place the 2D pieces, overlap occurs. To speed up detection of overlapping, we rasterize the pieces into 2D Boolean arrays using off-screen rendering. In our experi-ments, rasterization at the resolution of three pix-els for one centimeter balanced computing speed and accuracy.

To eliminate overlaps, we move the initially placed pieces. To retain the symmetrical layout given by the guiding map, we classify those pieces into left and right groups. We sort the pieces in each group in as-cending order according to the vertical coordinate of their bounding boxes’ bottom edges. For two pieces with the same vertical coordinate, we use their hori-zontal coordinates (of the left or right edges).

At the beginning, we consider all pieces movable except the lowest one, which we fix in its current position. We move the pieces in the left group left-ward or upward and move the ones in the right group rightward or upward—whichever direction involves the smaller movement. We then remove the first piece in the sorted list from the list and

(a)

(b)

(c)

t = 0.0

0.02

0

t = 1.0

t = 0.7

Figure5.Processingdiscrete-developablemeshes:(a)acollarpiece,(b)thefullyprocessedmeshsurface,and(c)theinterpolatedmesh.tindicatestheinterpolationratiobetweentheoriginalsurfaceandtheprocesseddevelopablesurface.Thecolorsindicatehowthevalueofthesummedangleatanonboundaryvertexdiffersfrom2p;blueiszeroandredis0.02.Thisinterpolationtoolprovidesusersaflexiblewaytoselecthowmuchtheprocessedsurfacecandeviatefromtheoriginalshape.

Page 8: From Designing Products to Fabricating Them from Planar Materials

IEEEComputerGraphicsandApplications 81

move it such that it doesn’t overlap with the fixed pieces. This process iterates until the list is empty. We move all the movable pieces in the same di-rection and to the same extent as the first piece. Figure 6b shows a final layout.

TransformationWe can transfer a design stored on a reference model HA to another reference model HB as long as we’ve established the bijective point-to-point mapping between HA and HB. Using this mapping, we determine the corresponding position on HB for every data point of the curves on HA and link the transferred data points by discrete geodesic curves. Figure 2b shows such a transformation. Our implementation employs a template-fitting-based method8 to generate fully compatible meshes among scanned human bodies. Users can transfer both design curves and feature curves in this way.

ApplicationsOur prototype system uses Visual C++ and OpenGL. The numerical computation kernel is SuperLU wrapped by OpenNL. Converting a de-sign into a pattern for fabrication takes less than one minute on a desktop PC with the standard configuration. We’ve tested the system to design clothing and shoes, furniture, and toys.

Clothing and ShoesOur modeling system was originally motivated by an industrial project for automatically generating patterns for customized wetsuits. In this applica-tion, the reference models were human bodies, and the user created designs on human models repre-sented by two-manifold triangular mesh surfaces.

Figure 7a shows the pattern and wetsuit for the design in Figure 2, but with different postures. As human posture changes, the wetsuit’s mesh sur-faces at regions such as the elbow, knee, and hip become far from nearly developable. So, we applied discrete-developable-mesh processing to the 3D pieces at these regions. The right image of Figure 7a shows the final fabricated wetsuit. Figure 7b shows a wetsuit with a different design.

Unlike wetsuits, shoes are designed on a shoe last instead of the surface of scanned foot. The last’s surface is a smooth offset surface of the foot model (see Figure 8). After creating the design curves on the shoe last’s surface MA for the refer-ence model, the foot FA, we easily warped MA to the shape fitting a new foot model FB, after estab-lishing the bijective mapping between FA and FB. Then, our system could generate the 2D patterns for fabricating customized shoes. Also, we could

use mesh parameterization to produce the guiding map for layout arrangement, with the system au-tomatically arranging the layout of the 2D pieces according to the guiding map.

Applying our system to designing typical clothes—that is, clothes that are unlike the tight wetsuit—was basically like applying it to designing shoes. Instead of a last, we used the basic blocks of clothes, such as blazers, shirts, jackets, trousers, jeans, polo shirts, dresses, and skirts. These blocks defined the structure and spatial relationships of a human body. Our techniques for building them appear in a previous paper.17

After obtaining the surface MA of a basic block for a human body HA, we specified the design curves on it and transformed them to the shape around an-other human body HB by the spatial constraints de-fined between the basic blocks and human bodies.

(a)

(b)

Figure6.Map-guidedlayoutarrangement:(a)aguidingmapofahumanbodyand(b)thefinallayoutwithoverlapseliminated.Thiscanavoidtherandomlyplaced2Dpieces,whichareinatangle.

Page 9: From Designing Products to Fabricating Them from Planar Materials

82 November/December2010

FeatureArticle

For example, Figure 9 shows how our system au-tomatically generated a new dress around HB. The system then determined the 2D pieces by preserv-ing the lengths of feature curves defined on the basic blocks. This guaranteed that the clothes fit.

FurnitureHere, we adopted sketch-based modeling to de-sign a chair, using Kara and Shimada’s method.3 With our system tools, we defined feature curves for which we needed to control the dimensions

(a)

(b)

Figure7.Designcomplicationsandvariations:(a)thepatternandwetsuitforthedesigninFigure2,butshowingdifferentpostures,and(b)adifferentdesign.Ashumanposturechanges,thewetsuit’smeshsurfacesdeform;thus,discrete-developable-meshprocessingismorelikelyrequired.

(b) (c) (d)

(a)

Figure8.Usingoursystemtoautomateshoedesign.(a)ThefootwithskinFA(left),thedesigncurves(middle),andtheshadedviewofthedesignedshoe(right).(b)TheautomaticallygenerateddesignforfootFB.(c)Theguidingmap.(d)ThepatternsofshoesforFA(left)andFB(right).

Page 10: From Designing Products to Fabricating Them from Planar Materials

IEEEComputerGraphicsandApplications 83

(that is, the lengths). WireWarping preserved the lengths in the resultant pieces (see Figure 10). The final product could be fabricated from leather sheets in the determined 2D shape.

Stuffed ToysIn this case, the designers wanted a tool for ana-lyzing the stretch distribution after designing a 3D model and specifying the cutting lines. A large area of distortion between 2D and 3D pieces will make fabrication difficult, especially when the manufacturing uses planar materials that allow only a little stretching.

Figure 11 shows our tool’s output. Because our system quickly computed unfolding, after users specified the cutting lines, they could interactively obtain the error in terms of 2D-versus-3D area difference (see the color maps in Figures 11a and 11b). So, designers could more easily add darts (stitched tapering folds) to reduce stretching dur-ing fabrication.

Figure 11d shows a toy squirrel fabricated from the pattern our system generated. Because our method generates fewer pieces compared to Iga-rashi and his colleagues’ method,5 the fabrication time could greatly decrease.

User ExperiencesWe’ve licensed the prototype to a company that produces customized wetsuits. Feedback from the industrial use of our system is positive. The users are very satisfied with the ease of use of the tools for freehand design, design transformation, and generating 2D patterns. With the system, the time to design and manufacture wetsuits has decreased from around one week to one day. A well-trained designer can create a design and pattern in ap-proximately 15 to 30 minutes. Even novices, after a half-day training course, can create a design and pattern in less than an hour. Users can directly import the patterns into CAD systems to generate

the seam allowance and then print the patterns out for cutting the fabric.

However, the users pointed out drawbacks in our current implementation. After transforming the design between human bodies with greatly var-ied shapes, the system doesn’t preserve the design curves’ smoothness. More specifically, it might generate S-shape distortion on originally smooth curves (see Figures 12a and 12b). Currently, users must select the unsatisfactory curves and adjust

(a) (b)

Figure9.Designingbasicclothing.(a)TheusercreatedadesignonthebasicblockofaneveningdressaroundhumanbodyHA.(b)ThesystemtransferredthedesigntoanewdressforbodyHB.Totherightofeachdesignisitscorresponding2Dpattern.Thisdemonstratesthesystem’sfunctionalityinautomatingthedesignofcustomizedclothes.

(a)

(c)

(b)

Figure10.Designingachair:(a)thewireframe,(b)the3DsurfaceconstructedusingLeventKaraandKenjiShimada’smethod,and(c)thelayoutof2Dpiecesthatoursystemgeneratedforfabrication.Thisdemonstrateshowthesystemcanbeusedtoautomatefurnituredesign.

Page 11: From Designing Products to Fabricating Them from Planar Materials

84 November/December2010

FeatureArticle

their shape by moving the control points. To solve this problem, we need to develop a curve-fairing function. Unlike general 3D spatial curve fairing, the difficulty here is to conduct curve fairing on a 3D free-form surface.

In addition, users reported a problem with sym-metric unfolding. After the user specifies the design

curves on a reference model, the topology (mesh connectivity) of the 3D pieces generated by trim-ming and retriangulation might be asymmetric even if those curves are specified symmetrically and the 3D shape is symmetric. So, the unfolded 2D pieces can’t be exactly symmetric. Figure 12c illustrates this case. Our current implementation solves this problem through postprocessing in 2D. For such a 2D piece P, we get its mirrored 2D piece P . We then compute the 2D piece that’s the av-erage of P and P through a morphing technique that uses length parameterization on 2D polygons. Figure 12d shows the resultant symmetric piece.

Although WireWarping can prevent local self-intersection of an unfolded piece, it can’t prevent global self-intersection. So, our system detects global self-intersection and reports it through postprocess-ing in the image space. However, users must de-termine how to generate a new cut that eliminates the self-intersection. They can add new darts using the freehand-design tools. We plan to study how to automatically generate darts.

The results show that our system improves the efficiency and accuracy of product fabrication.

However, the current implementation doesn’t con-trol the compression of the product on the refer-ence model (the human body). We plan to study this important problem.

AcknowledgmentsHong Kong Innovation and Technology Fund ITS/026/07 and Shun Hing Institute of Advanced Engineering Re­search Grant CUHK/8115022 partly supported this research. We thank TPC (HK) Ltd. for providing test­ing data and Pu Huang for implementing our system’s rendering program.

References 1. D. Terzopoulos et al., “Elastically Deformable Models,”

Proc. Siggraph, ACM Press, 1987, pp. 205–214. 2. E. Turquin et al., “A Sketch-Based Interface for

Clothing Virtual Characters,” IEEE Computer Graphics and Applications, vol. 27, no. 1, 2007, pp. 72–81.

3. L.B. Kara and K. Shimada, “Sketch-Based 3D-Shape Creation for Industrial Styling Design,” IEEE Computer Graphics and Applications, vol. 27, no. 1, 2007, pp. 60–71.

4. Y. Mori and T. Igarashi, “Plushie: An Interactive Design System for Plush Toys,” ACM Trans. Graphics, vol. 26, no. 3, 2007, article 45.

5. T. Igarashi, S. Matsuoka, and H. Tanaka, “Teddy: A

(a)

(b)

(c)

(d)

1.0

0.0

1.0

0.0

Figure11.Generatinga2Dpatternfora3Dtoysquirrel.(a)Usersspecifiedseveralcuttinglines.Colormapsindicatestretchingduetoconversionofthe3Ddesigntothe2Dpattern.Reddenotes100percentorhigherstretching;bluerepresentsnoareachange.(b)Aftertheuseraddeddarts(indicatedbytheredarrows),thestretchingdecreased.(c)Oursystemproducedaflattened2Dpatternforthetoysquirrel.(d)Fromthepattern,astuffedtoywasconstructed.

Page 12: From Designing Products to Fabricating Them from Planar Materials

IEEEComputerGraphicsandApplications 85

Sketching Interface for 3D Freeform Design,” Proc. Siggraph, ACM Press, 1999, pp. 409–416.

6. A. Sheffer et al., “ABF++: Fast and Robust Angle Based Flattening,” ACM Trans. Graphics, vol. 24, no. 2, 2005, pp. 311–330.

7. P. Decaudin et al., “Virtual Garments: A Fully Geometric Approach for Clothing Design,” Computer Graphics Forum, vol. 25, no. 3, 2006, pp. 625–634.

8. C.C.L. Wang, K.C. Hui, and K.M. Tong, “Volume Pa-rameterization for Design Automation of Customized Free-Form Products,” IEEE Trans. Automation Science and Eng., vol. 4, no. 1, 2007, pp. 11–21.

9. K.G. Kobayashi and K. Ootsubo, “t-FFD: Free-Form Deformation by Using Triangular Mesh,” Proc. 8th ACM Symp. Solid Modeling and Applications, ACM Press, 2003, pp. 226–234.

10. D. Zorin et al., Siggraph 2000 Course Notes: Sub­division for Modeling and Animation, ACM Press, 2000.

11. J. Mitani, “A Simple-to-Implement Method for Cutting a Mesh Model by a Hand-Drawn Stroke,” Proc. 2nd Eurographics Workshop Sketch­Based Interfaces and Modeling, ACM Press, 2005.

12. C.C.L. Wang, “WireWarping: A Fast Surface Flat-tening Approach with Length-Preserved Feature Curves,” Computer­Aided Design, vol. 40, no. 3, 2008, pp. 381–395.

13. M.S. Floater, “Parametrization and Smooth Approxi-mation of Surface Triangulations,” Computer­Aided Geometric Design, vol. 14, no. 3, 1997, pp. 231–250.

14. C.C.L. Wang, “A Least-Norm Approach to Flattenable Mesh Surface Processing,” Proc. 2008 IEEE Int’l Conf. Shape Modeling and Applications, IEEE Press, 2008, pp. 131–138.

15. B. Lévy et al., “Least Squares Conformal Maps for Automatic Texture Atlas Generation,” Proc. Siggraph, ACM Press, 2002, pp. 362–371.

16. K. Shoemake, “Animating Rotation with Quaternion Curves,” Proc. 12th Ann. Conf. Computer Graphics and Interactive Techniques, ACM Press, 1985, pp. 245–254.

17. C.C.L. Wang, Y. Wang, and M.M.F. Yuen, “Design Automation for Customized Apparel Products,” Computer­Aided Design, vol. 37, no. 7, 2005, pp. 675–691.

Charlie C.L. Wang is an associate professor in the Department of Mechanical and Automation Engineer­ing of the Chinese University of Hong Kong (CUHK). His research interests include geometric modeling in computer­aided design and manufacturing, biomedi­cal engineering and CG, and computational physics in VR. Wang has a PhD in mechanical engineering from the Hong Kong University of Science and Technology. He’s a member of IEEE and the American Society of Mechanical Engineers (ASME) and an executive com­mittee member of ASME’s Technical Committee on

Computer­Aided Product and Process Development. He has received the ASME CIE (Computers and In­formation in Engineering) Young Engineer Award, the CUHK Vice­Chancellor’s Exemplary Teaching Award, and the Best Paper Award at two ASME CIE confer­ences. Contact him at [email protected].

Yunbo Zhang is a PhD student in the Chinese Uni­versity of Hong Kong’s Department of Mechanical and Automation Engineering. His research interests include CAD/CAM, physical­based geometric model­ing, and CG. Zhang has an MPhil in digital design and manufacture from the National Engineering Re­search Center for CAD, Huazhong University of Sci­ence and Technology. Contact him at [email protected].

Hoi Sheung is a PhD student in mechanical and automation engineering at the Chinese University of Hong Kong (CUHK). His research interests are mesh reconstruction, denoising, 3D scanning, and parallel programming. Sheung has an MPhil from CUHK’s Department of Mechanical and Automation Engineer­ing. Contact him at [email protected].

Selected CS articles and columns are also available

for free at http://ComputingNow.computer.org.

Asymmetric Symmetric(c)

(d)

(a) (b)

Figure12.Twoproblemsusersreportedwiththesystem.First,afterdesigntransformation,somedesigncurvesthatwere(a)originallysmoothbecame(b)deformedintoanSshape.Second,regardingthesymmetryofa3Dpieceatthecrotch,WireWarpingproduced(c)anasymmetricunfolding,whichwefixedbyusingamorphingtechniquetogenerate(d)asymmetricpiece.