Computer-Aided Design 44 (2012) 721–734
Contents lists available at SciVerse ScienceDirect
Computer-Aided Design journal homepage: www.elsevier.com/locate/cad
Computer aided clothing pattern design with 3D editing and pattern alteration Yuwei Meng a,b , P.Y. Mok b,∗ , Xiaogang Jin a a
State Key Lab of CAD&CG, Zhejiang University, Hangzhou, China
b
Institute of Textile & Clothing, The Hong Kong Polytechnic University, Hong Kong
article
info
Article history: Received 25 July 2011 Accepted 15 March 2012 Keywords: Clothing computer aided design Cross parameterization Mesh editing/deformation Pattern alteration
abstract The traditional apparel product development process is a typical iterative ‘optimization’ process that involves trial-and-error. In order to confirm the design and achieve a satisfactory fit, a number of repeated cycles of sample preparation, trial fitting and pattern alteration must be conducted. The process itself is time-consuming, costly, and dependent on the designer’s skills and experience. In this paper, a novel computer aided design (CAD) solution for virtual try-on, fitting evaluation and style editing is proposed to speed up the clothing design process. A series of new techniques from cross parameterization, geometrical and physical integrated deformation, to novel editing methods are proposed. First, a cross parameterization technique is employed to map clothing pattern pieces on a model surface. The pattern can be precisely positioned to form the initial shape with low distortion. Next, a new deformation method called hybrid pop-up is proposed to approximate the virtual try-on shape. This method is an integration of geometrical reconstruction and physical based simulation. In addition, user interactive operations are introduced for style editing and pattern alteration in both 2D and 3D manners. The standard rules regulating pattern editing in the fashion industry can be incorporated in the system, so that the resulting clothing patterns are suitable for everyday production. © 2012 Elsevier Ltd. All rights reserved.
1. Introduction The research in clothing computer aided design (CAD) has flourished since the pioneer work of the MIRALab led by Prof. Magnenat-Thalmann in the late 80s. In the past two decades, computer graphics community has made significant contributions to this area, covering all aspects of clothing design, from design automation, interactive editing, virtual try-on, pattern generation to custom-design clothing. 1.1. Related work of clothing CAD The first research problem that needs to be solved for any clothing CAD systems is to accurately display a design. Most researchers follow two main approaches to visualize garment models. One approach represents garments as 2D patterns, which are placed around a human model and then assembled virtually to form 3D garments. This can be named as a 2D-to-3D approach. Fuhrmann [1] used developable surfaces, like cylinders or cones, to position clothing patterns around the virtual human, and then applied the physically based approach for an automated drape simulation. McCartney et al. [2] represented a garment as a collection of panels offset from the body surface, and constructed
∗
Corresponding author. Tel.: +852 27664442; fax: +852 27731432. E-mail address:
[email protected] (P.Y. Mok).
0010-4485/$ – see front matter © 2012 Elsevier Ltd. All rights reserved. doi:10.1016/j.cad.2012.03.006
the garment around a static human model. Volino et al. [3] provided an interactive design environment to edit patterns in 2D and immediately visualized the garment draping results in 3D. Meng et al. [4] used physical-based real-time simulation to visualize design effects by virtually sewing up complex garment patterns on human models. An online made-to-measure system was presented by Cordier et al. [5], allowing shoppers to virtually try on garments on the web. Another approach uses parameterized surfaces and curves to model garments in 3D space directly. Kim et al. [6,7] drew grids on the mannequin and then scanned this information to construct a 3D garment surface. Liu et al. [8] adopted Bezier’s parametric surface to represent a 3D garment surface. Wang et al. [9] proposed a 3D garment design system involving the participation of customers for mass personalization, and they employed style surface and curves to represent garments. Other researchers used approximate surface and offset surface techniques, for example, Turquin et al. [10] and Decaudin et al. [11] sketched garment contours directly onto 3D human models and then generated 3D garments using a predefined distance field around the human model. Wang et al. [12] suggested a system to construct garments around a human model directly in 3D space by stroke input. Luo and Yuen [13] represented patterns as loop of curves, so that the pattern sizes would change in accordance with the size of the human models used. Such a predefined relationship between clothing and body embeds the ‘fit’ in garment modelling. All of
722
Y. Meng et al. / Computer-Aided Design 44 (2012) 721–734
these are pure geometrical methods. In other words, the designs are freeform designs. Apart from visualizing a clothing design on the computer, it is also important to allow designers to edit the design and check the clothing fit. In 2D-to-3D based clothing CAD applications, design editing and alterations are carried out on 2D patterns and then followed by a drape simulation to examine the results. In applications that follow the second approach of modelling garments directly in 3D space, the design editing can be done by deforming the 3D garments. However, a process must be provided to project the 3D design into 2D space, so as to obtain the pattern pieces. The typical approach is by flattening the designed 3D surfaces to 2D planes. Azariadis and Aspragathos [14] proposed two optimization methods for flattening 3D surfaces: One without taking into consideration of the geodesic curvature constraints of the surface isoparametric curves, and the other method uses the constraints to control the local accuracy of the derived planar patterns. Kim and Kang [15] proposed a projection algorithm to flatten surface models by strain minimization and introducing darts automatically. The pattern flattening methods employed play a crucial part in 3D garment design, since they determine the quality of the final manufactured garments. It is important to note that flattening a freeform design has to involve some kinds of deformation. In addition, alterations in design very often start from editing the human models, because the ‘fit’ – gap between the clothing model and the human model – is predefined in the 3D garment modelling. If a design is changed, it needs to do the 3D garment modelling anew. In summary, the 3D-to-2D approach suffers from the drawbacks of either limited style variation or impractical shape of the flattened patterns for apparel manufacturing applications. In 2Dto-3D approach, physical based systems are often used to simulate realistic clothing drape and even catwalk animation. However, the computational intensive nature of physical-based simulation forces researchers to trade accuracy for speed by using simplified models in the simulations. The simulated results may be good for virtual characters or film animation, but it cannot reach the required accuracy in clothing production. 1.2. Traditional fitting process for pattern optimization The traditional clothing product development is an iterative effort for fit and design optimization, involving stages like design, sample preparation, fit evaluation, and pattern alterations. In the industry, clothing patterns are often constructed in 2D by pattern experts through manipulating a set of basic blocks, or altering from the patterns of similar style. A sample garment is then prepared and put on a mannequin or a live model to evaluate the fit achieved. In the fitting process, pattern experts visually examine the sample by looking at where wrinkles are created, so as to estimate the spatial relationship between the sample and the body, namely the clothing gap. Necessary corrections are marked with pens and pins on the sample, and the 2D patterns are altered accordingly. Another sample garment would then be made. The process is repeated for a number of cycles until a satisfactory fit is achieved (see [16] for detailed guideline on trial fitting process). It is important to note that although the clothing gap is critical for fit evaluation, the traditional sample fitting process is not able to visualize the gap in any form. With reference to fit evaluation, both geometrical and physical based CAD approaches have limitations. In geometrical based CAD systems, the clothing eases for every design/style are predefined; but this concept is obviously very different from the traditional practice of the industry described above, where 2D patterns are altered to fit the customer’s body shape. The concept of predefined
ease may be possible only for staple items where style change is not frequent, like shirts or trousers. However, for fashionable items, the predefined ease concept is not practical because apparel products have diverse fit designs and people also have varied preferences on fit [17]. In physical-based systems, drape simulation could not provide accurate clothing gap for fit evaluation, but can simulate the clothing stretch and strain. These simulated stretch and strain could only give designers limited insight on the fit achieved or the ways for fit improvement. In addition, all clothing design and alterations are done on 2D patterns in physical-based CAD system, thus another simulation must be launched to examine the effect of any alterations made. All in all, true computer-aided ‘design’ is still absent, because synchronized 2D and 3D design editing are not possible during the fit evaluation. In this paper, a method is proposed to establish the spatial relationship among 2D patterns, 3D garment and the human model. The main advantage of such association is that any pattern alterations, either in 2D or 3D, can be reflected on the human model for fit improvement and style editing. 1.3. Research concept and system overview In this paper, a novel three-phase framework is proposed to enable virtual try-on simulation and fit evaluation. In contrast to the typical approach of 2D-to-3D CAD systems, where 2D patterns pieces are pulled towards the human model for virtual sewing simulation, the proposed method adopts a rather different approach. In the proposed method, 2D pattern pieces are first precisely mapped onto the human model surface by a crossparameterization process. Next, a hybrid position update method integrating both geometrical reconstruction and physical simulation is developed. By this method, the garment pops up from the body surface, based on a few defined contact points, to restore its original size. After the pop-up process, a gap is formed between the clothing and the body that approximates the clothing gap in pattern design, which is fundamentally important for fit evaluation. Since a relationship between the clothing and the body has been defined, pattern editing for fit improvement or design amendment could later be facilitated. Finally, a systematic multi-view editing tool is suggested for synchronized 2D and 3D style editing and pattern alteration. A brief outline of the proposed three-phase method is given in Fig. 1. Each phase of the method will be discussed in separated Sections 2–4. Phase three of style editing and pattern alterations is a large topic in clothing development, involving many steps and operations. In view of the substantial contents involved, Section 4 only briefly explains the underlying concept, and a more detailed discussion of the topic is given in [18]. Section 5 provides experimental results. The main contributions of this paper are summarized as follows:
• A new mesh-to-mesh cross parameterization method is suggested for positioning the pattern pieces onto the human model that precisely preserves the pattern shapes of the final garments. The virtual try-on is achieved automatically. • A novel hybrid method combining physical-based simulation and geometrical reconstruction is proposed to deform the garment from initial form to the ‘desired’ shape, i.e., to resume its original size. The hybrid schema enables the local coordinate technique to be used not only for single closed mesh deformation, but also for open mesh surface reconstruction. • A unique pattern alteration method is proposed for garment editing in both 2D and 3D manners, and such idea has never been reported in the literature before. The method uses fashion design rules to control the style editing and pattern alteration, making it suitable for practical implementation of fashion product development.
Y. Meng et al. / Computer-Aided Design 44 (2012) 721–734
723
Fig. 1. System overview.
2. Pattern-to-model cross parameterization
2.1. Nomenclature and feature definitions
Clothing try-on demands a rigid correspondence between the clothing feature points and the human model feature points. The proposed computer aided design system starts by first establishing a spatial relationship between the 2D clothing patterns and the human model by a surface parameterization process. Surface parameterization consists of generating a planar parameterization for a 3D mesh surface. Parameterization has various applications in science and engineering, including scattered data fitting, re-parameterization of spline surfaces, and repair of CAD models. Texture mapping is an important application of parameterization that commonly used to increase the visual complexity of computer generated images while maintaining simplicity in the underlying geometric models. Texture mapping algorithms provide parameterization by using an embedding function and barycentric coordinates for each pair of mesh triangles that define a piecewise-affine mapping. An interactive texture mapping technique was first proposed by Maillot et al. [19], who obtained the planar development of a 3D surface by solving a global optimization problem. Sheffer and Hart [20] described a faster technique to lower the visual distortions. Haker et al. [21] suggested a spherical texture domain for seamless mapping of closed surfaces. Sander et al. [22] and Levy et al. [23] subdivided the surface into multiple small patches and texture mapped the patches separately. In summary, interactive texture mapping methods strive to minimize the distortion in the mapping process according to different distortion metrics. To establish spatial relationship between clothing pattern and human model, a new surface parameterization technique is required because clothing patterns of different designs vary largely in geometrical shapes, for instance, darts and inside darts may be involved. In this paper, a duplex mapping scheme is proposed, involving the following three steps: (1) Feature definition: specify the corresponding feature points on both the human mesh model and the pattern mesh; (2) Mesh segmentation and region mapping: triangulate 2D patterns based on defined feature points to obtain ancillary patterns, and segment the human body mesh accordingly to match with the ancillary patterns; and (3) Crossparameterization: embed each patch on the body mesh surface to the corresponding clothing pattern mesh to generate parameterization coordinates.
A list of symbols used in cross parameterization process is provided below: FH : feature points of the human model FP : feature points of the clothing pattern M: Mesh of 2D patterns M ′ : Mesh of ancillary 2D patterns generated based on FP M ∗ : 3D configuration of the pattern M, i.e., the mapping result Pi : patch of the human model Ti : triangle in M Ti′ : triangle in M ′ (pk , pl ): vertex in Pi (vk′ , vl′ ): vertex in Ti′ (vk , vl ): vertex in Ti The planar patterns M and triangulated human model are inputs to the process. The process starts from defining the feature points on both the clothing patterns and the human model. Figs. 2 and 3 show the human model feature points FH and the clothing pattern feature points FP , respectively. The definition of body feature points is available in most pattern-making literature [24] or body measurement standards [25]. Huang [17] described detail methods to define feature points on a mesh model automatically. In every pattern piece, the corner points, also called grade points, are important features. If any of the grade points do not correspond to the predefined body features FH (for example, pink circle points in Fig. 3), the system calculates their relative positions on the model surface based on known feature points (black square points) by proportion. The system defines the relative position of a pink circle point on the shortest path between two known feature points, FH . The shortest path calculation will be explained in later Section 3.2. In addition to obtaining the feature point positions automatically by proportion, a user interface is also provided for users to define the features manually. 2.2. Mesh segmentation and region mapping After inputting the clothing pattern M and the corresponding feature points FP , the system adds additional auxiliary points to the feature curves of the pattern pieces, as shown in Fig. 4. This is done to ensure satisfactory triangulation results in the later step. The positions of these auxiliary points are computed as average
724
Y. Meng et al. / Computer-Aided Design 44 (2012) 721–734
Fig. 2. Feature points on human model, FH .
Fig. 3. The corresponding feature points on a front and a back pattern pieces, FP .
splitting between two defined feature points. Each boundary curve is divided into ⌈li /κ⌉ segments, where κ is the length of the shortest boundary curve, li is the length of the current boundary curve, and ⌈•⌉ means a round up operation. Constrained Delaunay triangulation is then carried out on all pattern pieces by using predefined feature points and the auxiliary points as the vertices. This will obtain a set of ancillary pattern pieces, M ′ , which are the simplified forms of the pattern pieces, M. Fig. 6(b) shows an example of ancillary patterns M ′ , the front piece. After triangulating the clothing pattern M, the human mesh model is segmented based on the ancillary pattern M ′ by an approximated shortest path method, as shown in Fig. 6(e). Traditional Dijkstra shortest path connects two specific vertices on a mesh with edges, which is not the exact shortest path on a mesh surface. A known method to improve the Dijkstra shortest path is
to iteratively subdivide the impact triangle edges and construct new weighted graphs, so that the path is closer to the ideal one could by iterations. However, such method costs a considerable amount of memory space and it is rather time consuming. In this paper, a simple shortest path method is developed to segment the human model mesh, see Fig. 5. It uses pre-computation rather than an iterative schema. In the graph construction stage, the set of impact edges are subdivided according to the edge length of the corresponding triangle Ti′ on the ancillary pattern M ′ . Given a defined length, each edge is inserted with several intermediate points and the number of points inserted is proportional to the length of the triangle edge, as shown in Fig. 5. Thus, a long edge is divided into more segments compared with a short edge. Another method was also suggested to calculate the shortest path in [26]. It partitioned the mesh into valid sub-regions after
Y. Meng et al. / Computer-Aided Design 44 (2012) 721–734
725
Fig. 4. (a) Feature points on model FH with predefined body features (black square points) and system generated auxiliary points (blue circle points) and (b) corresponding features points FP on the front and back pattern pieces. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
3. Combining the mapping functions G and G′ , each vertex of the 2D patterns M is mapped around the human model in 3D space. Since all vertices in M and Pi have their corresponding position in Ti′ after the Steps 1 and 2 above, the vertices in M can be encoded by barycentric coordinate of relative triangles in Pi , and vice versa. Therefore, a bijective mapping between mesh M and patch Pi is thus constructed. See Fig. 6(e) for details.
Fig. 5. The shortest path approximation.
searching for the shortest path. Compared with [26], the method proposed in this paper for the shortest path approximation using subdivision pre-computation is robust and efficient for the current application of mesh segmentation and region mapping, the reason is because complex computation of Steiner vertices is avoided. To conclude, the method decomposes the body mesh model into a set of surface patches Pi . The edges of these patches are paths connecting adjacent feature vertices, which maintain the same topology as that of ancillary patterns M ′ (see Fig. 6). 2.3. Cross-parameterization After the mesh segmentation process, a bijective mapping is constructed between the pattern and the corresponding region of the human model. Each triangle Ti′ on the ancillary patterns M ′ is then matched with a triangular patch Pi on the 3D human model mesh. The vertices of each triangle Ti′ are three constrained vertices (vk , vl , vm ). The patch Pi is bounded by paths (pk , pm ), (pl , pm ) and (pk , pl ) between the three mentioned vertices. A cross parameterization procedure is carried out to embed every vertex in 2D pattern onto the 3D surface of the human model as follows: 1. In each patch Pi , place the path (pi , pj ) at equal distances along the corresponding triangle Ti′ of the ancillary pattern M ′ . The harmonic coordinates are used to map the rest interior vertices under the constraint of boundary vertices. Therefore, a mapping function Pi = G(T1′ , . . . , TN′ ) is constructed mapping vertices of Pi to M ′ . G is encoded by barycentric coordinate of a triangle Ti′ in M ′ , which is inside of Pi (see Fig. 6(d)). 2. For each vertex v of M, use barycentric parameterization to place its interior vertices inside the triangle Ti′ . The barycentric mapping of a mesh into a convex domain is known to produce a valid embedding. Therefore, another mapping function v = G′ (T1′ , . . . , TN′ ) is thus constructed mapping the vertices in M to M ′ .
It is noticed that some pattern pieces are of convex shape or involved with curves. It means that no perfect triangulated mesh can cover the full area of these pattern pieces. In this case, the nearest triangle to vertex vi is located, and the vertex are −−−→ −−−→ encoded by two vectors of the closest triangle vc1 vc2 and vc1 vc3 . vc1 , vc2 , and vc3 are the vertices of the closest triangle. It means the two parameters of the barycentre parameterization in the Step 2 mentioned above can be negative values. Given that the input body model is a properly segmented model with feature points FH automatically defined [27], the cross parameterization of different pattern pieces are carried out on the relevant body segments only. The result of the procedure is a valid embedding of the mesh M ∗ that satisfies the positional constraints. The positional constraints refer to a one-to-one mapping between the featured points on patterns and those on the human model. 2.4. Post-procedure Upon the above embedding process, the clothing patterns are mapped onto the human mesh model. In most cases, a mesh refinement procedure is necessary to optimize the surface for better mapping results. This post-procedure is often required because traditional clothing patterns are developed based on some size standards, which implies that the clothing can fit well to people with average build. If the input model has an ‘average’ body figure, good mapping results would be obtained because the precisely defined feature points can ensure very low distortion. However, for input model with special body shape such as protruding abdomen or wide shoulders, the distortion would be high, meaning that the edges of the 3D garment are stretched. In such cases, a post-procedure of mesh refinement is usually carried out to optimize the mesh surface. However, such refinement step is skipped in the current method, because the step has been integrated in the later hybrid pop-up process, which will be explained in Section 3. After the procedure of mapping the clothing patterns onto the human model surface, the pattern pieces are ‘sewn’ up as a complete garment by combining the corresponding vertices at the seams, as shown in Fig. 7. Such virtual sewing operation is almost distortion-free, because the vertices on the seam lines are very close to each other. Fig. 8 shows the complete garment results.
726
Y. Meng et al. / Computer-Aided Design 44 (2012) 721–734
Fig. 6. (a) Original garment pattern M; (b) ancillary pattern generated by constrained delaunay triangulation M ′ ; (c) a 3D patch segmented from human model Pi ; (d) flattened 2D patch by Harmonic map; (e) shortest path graph on human model and the final 3D configuration.
Fig. 7. (a) Mapping results of 2D pattern around human model. Using the pattern M ∗ , the seam position of two seam line can be mapped to the same coordinate (the red lines specify the mesh boundary); (b) mesh after seam operation; (c) mapping the front and back pattern pieces around human model to form a complete garment. (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
Fig. 8. Complete garment after sew operation (front, side, back views).
3. Hybrid pop-up The previous section described that spatial relationship between the clothing and the human model is developed for ‘attaching’ the pattern pieces onto the body surface. This section presents how the garment is deformed by a hybrid pop-up method involving both geometrical reconstruction and physical simulation, from its initial form to the ‘desired’ shape. The ‘desired shape’ is defined as a state that the deformed garment surface is at the prescribed position, its boundary lengths (namely, the pattern sizes) are restored to that of the original 2D patterns M, and the curvature is remained the same as the initial form (3D mapping surface). At the end of the hybrid pop-up, a clothing gap is formed between the garment and the body surface. If the same garment is tried on models
with varied body sizes, the clothing gaps formed are different. This makes the evaluation of effective clothing fit possible. 3.1. Geometrical reconstruction The purpose of geometrical reconstruction procedure is to maintain the local curvature of the final garment. In this procedure, the 2D pattern meshes M and the 3D configuration M ∗ generated in Section 2 are inputs. The output of the process is a mesh that keeps the curvature of 3D configuration and the size of the 2D patterns. Many methods have been proposed to preserve the local shape properties of 3D models during deformation or editing. For example, Sheffer and Kraevoy [28] proposed the use of pyramid coordinates to capture and maintain the local shape properties,
Y. Meng et al. / Computer-Aided Design 44 (2012) 721–734
727
Eq. (2) defines the target coordinate of the mesh vertices position of the final 3D garment. In this paper, geometrical reconstruction is performed by iteratively adjusting the angle parameter θi of the coordinate for relocating the mesh vertices as follows:
θi = arcsin
Fig. 9. Pyramid coordinates of vertex v , in which vi is one of the neighbour vertices of v , and h is the distance from v to its projection plane. The value of h is obtained by averaging the projection distances of ∥v − vi ∥ to the normal of v for all neighbour vertices v1 , v2 , . . . , vm , and normal component θi is used in computation of projection distances.
by using a set of angles and lengths to relate a vertex to its immediate neighbours on a projected plane, as illustrated later in Fig. 9. Pyramid coordinates were extended from the concept of mean value coordinates (MVC) [29]. On a 2D plane, mean value coordinates define the position of a vertex v as a convex combination of its one-ring neighbours v1 , v2 , . . . , vm with weight parameters λi . The mean value coordinate λi for vertex v with respect to its neighbour vi is defined by angle parameter α and length parameter li as follows:
λi =
tan(αi /2) + tan(αi+1 /2) li
=
tan(αi /2) + tan(αi+1 /2)
∥v ′ − vi ∥
(1)
while the mean value coordinates(mean value weights of all m neighbours) need to be unified, i.e., i=1 λi = 1. By extending the MVC concept from 2D plane to 3D domain, pyramid coordinates include both tangential (α and l) and normal (θ ) components, as depicted in Fig. 9. In the current application for clothing try-on, the local coordinates encoded in the initial configuration is only a rough form of the garment, which cannot reflect the precise local relationship (the desired shape) between the pattern pieces. This is because distortions have been introduced when the pattern pieces are mapped on the human model, and morphing the vertex coordinates is necessary to restore its size. In [28], a deformation technique was introduced to deform closed 3D mesh models based on user specified control vertices. For this technique, the pyramid coordinates of the source and target meshes, both the angle and length parameters, are defined in 3D domain. In contrast to mesh editing, in the clothing tryon application, the lengths (garment size) are defined in the 2D patterns while the curvature properties (garment shape) should be preserved from the initial 3D form. Therefore, a conversion from 2D pattern to 3D garment is necessary to update the local coordinates of the 3D garment by geometrical reconstruction, shown as follows:
λ′i = λ2d i (1 − cos θi )
(2)
where λi is the local coordinate of vertex v on the 3D garment in relation to its neighbour vi , λ2d i is the corresponding mean value coordinate of the vertex v on the 2D pattern, and θi is the normal angle parameter of the local coordinate (see Fig. 9) from the initial configuration. ′
l
∥v − vi ∥
+ arcsin
l
∥v 2d − vi2d ∥
2
(3)
where ∥v − vi ∥ is the length between v and vi on the 3D shape of the current reconstruction iteration, v 2d − vi2d is the corresponding length on the 2D pattern, l is the length parameter value for the local coordinate of the current reconstruction iteration. The Gauss–Seidel reconstruction process [28] is used to iteratively deform iteratively the garment vertices positions until convergence (i.e., the local coordinates reach the interpolated values, which will be described in the later morphing step). As shown in Eq. (3), the average angle is used in the calculation to ensure stable deformation. Experimental results showed that θi approaches the ideal value at the end of the reconstruction process, i.e., l
. θi′ = arcsin 2d v − v 2d
(4)
i
Once the desired local coordinate for the final garment is obtained by Eq. (2), morphing is performed to convert the garment from initial configuration to its desired configuration. Morphing algorithms create a smooth temporal transition between multiple input models, i.e., between interpolated local coordinates in the current application. A typical morphing algorithm consists of three main stages: computing a bijective mapping between the models; re-meshing the models with a common connectivity; and computing the trajectory for each vertex in the mesh between its source and target positions [28]. In this paper, a method is proposed to generate intermediate models based on source and target models. The morphing algorithm first computes the source coordinates and target coordinates, S and T . For each time frame t, the algorithm computes the local coordinates by linearly interpolating the source and target coordinates as follows:
λ = λS (1 − t ) + λT t = λ3d (1 − t ) + λ′ t .
(5)
In the morphing procedure, the morphing step for t is defined as 10, thus t = 0, 0.1, 0.2, . . . , 1 in the above Eq. (5). The boundary vertices are controlled by the physical-based schema, which will be introduced in the following section. 3.2. Two-stage boundary curve iterative update In the geometrical reconstruction, the local coordinates of the garment are retained. The initial configuration of the garment surface is generated in the mapping process (Section 2). However, such surface position is not considered to be at the desired position when the garment is tried on. On the other hand, the boundary of the garment surface becomes unstable after geometrical reconstruction if the boundary is not fixed or under control. In order to restore the garment to the size defined by its clothing patterns and solve the boundary instability problem in geometrical reconstruction, a two-stage procedure is performed including a silhouette adjustment and a physical-based position update to the boundary vertices of the 3D garment. This procedure aims to obtain the geometric clothing gap between the clothing and the body surfaces. This is achieved by defining a few contact points and followed by width and length restoration (Sections 3.2.1 and 3.2.2). The contact points are points between the garment and the body surface, which
728
Y. Meng et al. / Computer-Aided Design 44 (2012) 721–734
the positions would not change in the size restoration process. This is achieved by adding position constraints to these contact points in the implementation. These contact points are usually defined as the feature points on shoulder line for top garments like shirts, and on the waist girth for bottom garments like trousers. The rationale behind this size restoration procedure is that if the boundary curves of the pattern that define the garment size can be transformed from its initial state to the desired lengths by iterative morphing, the interior vertices of the garment can be transformed accordingly by the geometrical reconstruction procedure described in Section 3.1. It is later proved by experiments that this approach is valid and effective. 3.2.1. Silhouette adjustment To restore the garment to its original size, the adjustment is done by first extending the garment width in a pre-computation step, called silhouette adjustment. It is then followed by updating the garment vertical lengths using a physical-based method. For the silhouette adjustment, it is noted that each garment is composed of a set of pattern pieces. For example, the front and back panels wrap around the body to form a top garment, such as blouse or t-shirt, or wrap around the legs to form a skirt or trousers. Therefore, the final garment’s girth measurement at the hem level is known from the pattern pieces, which is the total length of the bottom boundary curves of the front and back pieces. Assume that the length of the corresponding boundary curve on the initial form, after the cross parameterization, is c, which is equal to the girth measurement of a feature curve on the body model. If the length of the boundary curve on the final garment should be adjusted to c ′ (c ′ > c ), which is the size of the pattern pieces, then the length adjustment for this boundary curve is c ′ − c. It later creates the clothing gap at the hem level. The silhouette adjustment is done by first computing a geometrical centre of the closed boundary curve. To ensure stable transformation, the adjustment of c ′ − c is achieved iteratively by a number of steps. The vertices positions on this closed boundary curve is adjusted using the geometrical centre of the curve as their average position. For special cases of tight-fit garments, in which the clothing girth is smaller than the circumference of the human body (c ′ > c), the process of size restoration is omitted and this will be discussed further later. 3.2.2. Physical-based position update Upon every step of silhouette adjustment, a physical-based simulation is performed in the normal direction, so as to update the 3D garment length iteratively. Force definition Physical simulation is widely researched in the area of clothing simulation. The purpose of the proposed physical simulation procedure is not to obtain a drape result, but to stretch the garment to its original length. It is found that a system of interacting particles is well suitable for this simulation application. The method presented here is inspired by the work of Breen et al. [30], who first applied the particle model to the simulation of textile fabrics. Compared with Breen et al. [30], a simplified particle model is used in this paper. Fig. 10 presents the connectivity of the mass particles of the cloth surface. The green particle (green circle) is one of the boundary particles, where the forces acting on it are illustrated. The red particles (red squares) are boundary particles connecting to the green one. The blue particles (blue triangles) are interior particles. In contrast to the general methods that apply three different kinds of force on a single particle, only the stretching and the bending forces are employed in the simulation. It is because shearing force is necessary for animation, but the current
Fig. 10. Forces acting on particles.
simulation does not involve any animation. It is found that the twoforce model works well in this application. Gravity force is also omitted in the calculation, because it has little effect on the particle. As shown in Fig. 10, every interior particle is fully connected, with the exception of particles at the boundaries. Therefore, the particle interaction model employed involves two types of particles, the blue triangle ones as the centre particles and the boundary vertices (red squares and green circle). The physical simulation is applied only to the boundary vertices of the surface in order to achieve real-time speed. Numerical simulation In clothing simulation, the computation of differential equations is usually one dominant part of the total computational costs. Upon deciding the physical model, a suitable numerical integration method must be selected. The Stoermer–Verlet integration scheme [31] is selected, because it is especially efficient if the mechanical systems are represented as second order ordinary differential equations. In the simulation, the velocity is omitted in the dynamic equations. As a result of this, it may not be precise enough for dynamic animation, but is sufficient for obtaining accurate deformation results of garment size restoration. To ensure stable size restoration, the physical simulation procedure updates the vertex position by constraining its displacement along the normal direction by: x′ =
N
|N |
(x · N )
(6)
where x is the displacement calculated by physical module, N is the third direction obtained by principal component analysis on the set of boundary vertices. 3.3. Hybrid schema The steps of the deformation algorithm are: Step 1. Compute the local coordinates of the input mesh model, i.e., the source coordinates, S. Set the current coordinates as S. Define the contact points on the input mesh. Step 2. Use Eq. (5) to compute local coordinates in the current iteration. The number of iterations for morphing the garment from its initial form to the desired shape is set as 10. If the iteration index reaches the defined value, end the procedure. Step 3. Adjust the clothing silhouette of the 3D garment boundary curve by the pre-adjustment algorithm described in Section 3.2.1. This ensures that the garment width gradually reaches the dimensions defined in the pattern pieces. Step 4. Use physical-based position update procedure (Section 3.2.2) to change the positions of the boundary vertices.
Y. Meng et al. / Computer-Aided Design 44 (2012) 721–734
729
provides crucial information for designers to evaluate the clothing fit achieved. Cross-section views for fit evaluation can be easily extracted, as shown in Fig. 12. Traditionally, the local coordinates can only handle single closed mesh deformation. If it is applied to open mesh surface, the surface boundary would be unstable. Using the proposed hybrid schema, local coordinates can now be applied in open mesh surface reconstruction. 4. Interactive editing and pattern alteration The clothing gap obtained from the above process provides designers with excellent information about clothing fit achieved. A unique pattern alteration method is proposed to allow real-time interactive style editing based on the try-on results, in both 2D and 3D operation manners. Since the topic of pattern alteration and style editing involves many complex operations, it is not in the scope of this paper. Therefore, only the underlying concept for 2D-based and 3D-based interactive pattern alteration is briefly explained in this paper. A more detailed discussion of the topic is shown in [18].
Fig. 11. Pop-up results.
4.1. 2D pattern alteration
Fig. 12. Cross-section extraction from the final pop-up result. (The outer green line is the cross-section of the garment and the inner blue line is the cross-section of the human model.) (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
Step 5. Update the rest vertices by geometrical reconstruction with desired local coordinates obtained from Eq. (5) of the current state. Step 6. Update the iteration index, and go back to Step 2. In order to evaluate the effectiveness of the proposed hybrid pop-up process for size restoration, a performance measure is defined:
χ=
L3d L2d
In the traditional fashion product development cycle, designers often adjust 2D patterns to produce clothing with better fit for individual customers, who often do not have ‘ideal’ body shape and possess a few ‘abnormalities’ in one or two areas of the body, for example in the areas of the neck line, shoulder and armhole [16]. Based on the established spatial relationship between the clothing and the human model, tools are developed for users to alter 2D patterns interactively by modifying the position of the pattern feature curves, whilst visualizing the synchronized editing effects in 3D space. For pattern alteration, it is important to maintain the topology of the pattern mesh, as well as the neighbouring relationship of the feature points in 2D pattern alterations. This corresponds to a 2D case of Laplacian editing. Nevertheless, the method proposed in this paper for 2D-based editing is to calculate the relative vertex positions by a simple linear interpolation to its neighbouring features. Users first impose constraints on the pattern feature curves by nailing down feature points on the boundary. Users then deform the pattern by dragging a feature point to the desired position. By keeping the relative position of the edited feature point and its neighbouring feature points, the positions of other vertices on the feature curve can be calculated as follows.
− → − → vf = vf1 + α A + β R90 · A
(8)
where vf1 is the updated vertex position of editing feature f1 ,
− →
(7)
where L3d is the length of an edge in the 3D garment mesh model, and L2d is the corresponding edge length of the 2D pattern mesh model. In ideal size restoration, the parameter value of χ of all edges approach to 1 at the end of the simulation. Table 1 shows the error measurement of each simulation step, in which E (χ ) is the expected value of χ , i.e., the mean value of the parameter (Eq. (7)) for all edges on the mesh, and σ 2 is the variance of χ deviated from his expected value. It can be shown from the table that the proposed hybrid schema is effective for size restoration. Fig. 11 shows the final result from the hybrid pop-up schema. As shown in the result after the pop-up step, a clothing gap is formed between the clothing and the body. The garment has been restored to its original size, as defined by the clothing patterns. This gap
vector A is the relative position of feature f1 and its neighbour
− →
feature f2 , A = vf2 − vf1 , in which the vertex position of f2 is fixed by user. In Eq. (8), R90 is the rotation matrix for a 90° counter-clockwise rotation. As shown in Eq. (8), the position of any vertex, vf , on the boundary curve can be updated by a simple linear interpolation of its two neighbour features vf1 and vf2 . The remaining interior vertices are then updated iteratively with reference to the deformed boundary position constraints by mean value coordinates. The geometrical topology of the original pattern mesh is maintained. In Eq. (8), α, β and R90 are known from the previous calculation. Comparing with Laplacian editing, which has order at least N squared time complexity O(N 2 ), Eq. (8) has order 1 time complexity O(1). Thus, the implementation of this formulation is much simpler, yet sufficient for the 2D-based pattern editing.
730
Y. Meng et al. / Computer-Aided Design 44 (2012) 721–734 Table 1 Error measures of each simulation step. Step
1
2
3
4
5
6
7
8
9
10
E (χ)
0.913 0.0084
0.944 0.0072
0.958 0.0063
0.965 0.0049
0.971 0.0039
0.98 0.0030
0.984 0.0024
0.989 0.0017
0.993 0.0012
0.998 0.0009
σ2
Fig. 13. Illustration of 2D editing: (a) 2D patterns and (b) 3D armhole shape before editing; (c) lifting up the armpit point on 2D patterns and (d) the resulted 3D armhole is reduced; (e) lowering the armpit point on 2D patterns and (f) the resulted 3D armhole is enlarged.
Fig. 13 demonstrates the pattern alteration results of lifting up and lowering the armpit feature point [APpsx1] on the armhole curve. Since the associations and dependences between pattern pieces have been defined in the mapping process, any modifications made to one pattern piece can be automatically transferred to all dependent pieces. It speeds up the product development process significantly. It is important to note that the rules governing fashion design are used to guide the editing process, so that the altered patterns fulfil the textile material properties and clothing manufacturing constraints, and can be used for apparel manufacturing. More details are given in [18]. 4.2. 3D-based editing for style and fit improvement In addition to 2D pattern alteration, tools are developed for 3Dbased interactive style editing. Users can drag the feature curve or boundary of the 3D garment directly to alter the garment size. In most CAD application, freeform deformation is used for 3D garment editing, the edited results cannot be accurately reflected on 2D patterns, because distortion free flattening method is still not yet available. With the known spatial relationship between clothing features and body features in the current method, 3Dbased design editing becomes possible because the necessary 2D pattern alteration used to achieve the required 3D effects can be easily calculated. In this paper, 3D-based editing is used to alter the girth measurements of the garment, as well as to change the garment style lines in 3D, i.e., the position of the pattern grade points. These functions satisfy most style editing requirements for fit improvement in the fashion product development process. To edit a 3D design, the area to be edited is first specified by a sketch tool, see green line in Fig. 14(a). It can select to alter a girth measurement of the garment or individual style line, such as the neckline shape. The system will automatically calculate the pattern pieces being affected by the selection and their feature points. To
edit the garment, users specify the control vectors for deforming the selected feature points on the 3D garments. For example, if the bust girth measurement is to increase by 4 cm ease, the system will share the ease to the pattern pieces affected, which is 1 cm on the two front pieces and 1 cm at each side of the back piece, as shown in Fig. 14(b). Fig. 14 demonstrates a 3D-based editing for adding ease to the bust level. The feature points being affected in the editing operation are shown as blue points on the 2D patterns in the figure. If the control vector of the editing operation is parallel to the selected feature curve, eases are added to the girth of the feature curve. If the control vector of the editing operation is perpendicular to the selected feature curve (see Fig. 15), the corresponding level of the feature line will drop. In other words, the length of the garment will be extended, refer to Fig. 19(d) in Section 5 for an illustration. The proposed method for 3D-based editing is a novel idea. To the best knowledge of the authors, similar methods have not been reported before. It allows direct style editing for fit improvement in 3D space, and results are directly projected on the pattern alteration in 2D plane. The editing results are visualized through the hybrid pop-up process. The 3D editing functions fulfil the needs of most pattern editing requirements in the fashion industry. Most importantly, the edited pattern pieces fulfil the requirement of the clothing industry in terms of line, grain, balance and set [32]. Therefore, different from free-form editing, the proposed 3D editing is suitable for industrial application, which can drastically shorten the product development cycle. 5. Experimental results and discussions In this section, two garments including a pair of trousers and a blouse are used to demonstrate the proposed clothing CAD system.
Y. Meng et al. / Computer-Aided Design 44 (2012) 721–734
731
Fig. 14. 3D-based editing for adding ease to the bust girth: (a) 3D garment before editing, where bust line is selected; (b) the corresponding pattern alteration for increasing ease to the bust level; and (c) the edited result. Table 2 Pattern and seam information of garment types. Garment styles
Pattern information
Number of seams
Trousers Standing collar blouse
4 pieces: 2 front panels and 2 back panels 9 pieces: a front panel, 2 side front panels, 2 back panels, 2 side back panels and 2 sleeves.
13 seams 13 seams
Fig. 15. Two scenarios of 3D-based editing control vectors.
The system reads in dxf files of the production patterns, which were developed by standard pattern design systems (PDS). Fig. 16 shows the pattern pieces of the blouse and the trousers. Table 2 lists the pattern and seam information of the garments. The results of pattern mapping and hybrid pop-up procedures of the blouse and trousers are shown in Figs. 17 and 18, respectively. Fig. 19 shows the results of fit evaluation for the trousers and the pattern alteration for widening and lowering the hem line of the blouse. Table 3 shows that the proposed method is very efficient. Using the simple blouse as an example, the shortest path generation procedure used about 0.7–0.9 s to calculate a path, with an average of 0.77 s for one path, a total of 86.24 s and 17.025 MB memory for 112 paths. The time consumption of mapping procedure can be omitted, because it is very fast. The pop-up simulation procedure took 0.23 s for one iteration, and the whole procedure usually involved 10 iterations. It has been demonstrated that the proposed system estimates the try-on results of clothing, providing designers with useful information for fit evaluation. The proposed method obtains the try-on results by mapping clothing patterns on the body and
then popping up the clothing from the body surface. This unique approach maintains the sizes and shape of the clothing patterns, allowing effective fit evaluation. Besides, tools are developed to facilitate pattern alterations on the computer. It is an important tool for the fashion industry. It is believed that the current method works well for just-fit garments and tight-fit garments. For tight-fit clothing, such as undergarment and jeans, the clothing patterns would be smaller than the body size. The try-on process is completed after the pattern-to-model cross parameterization step, and the stretching of the garment can be easily obtained for fit evaluation. For just-fit and most loose–fit styles, like most ready-to-wear top garments and trousers, accurate try-on results can be obtained after the process of hybrid pop-up, which provides detailed information of the clothing gap. The clothing gap information is very useful for pattern alterations and fit improvement. Currently, the method may not handle skirts or some very loose–fit styles with a lot of drape and many irregular shapes, because the garments keep the form of the initial mapping step. It is believed that the current method can be used to try on skirts by computing the approximated bounding volume of the lower body before the mapping process. This will be discussed in detail in [18]. The system currently allows immediate visualization on editing results, so that designers can check if the necessary clothing and textile requirements are fulfilled. The rules governing style editing can be incorporated to the system, so that the resulted patterns automatically fulfil the requirements and thus suitable for industrial application. More detailed discussion is found in [18]. On the other hand, a physical-based drape simulation will be introduced at the end of the try-on process, allowing better fit evaluation results for more complex styles with a lot of folds and gathers, and this will be tackled in the future work [18].
732
Y. Meng et al. / Computer-Aided Design 44 (2012) 721–734
Fig. 16. Patterns of (a) blouse and (b) trousers.
Fig. 17. (a) Mapping and (b) hybrid pop-up results of the blouse (front, side, and back views). Table 3 Computational speed of the system. Garment
Number of vertices/triangles (garment)
Number of vertices/triangles (human model)
Number of the shortest paths in the segmentation process
Average computation time for each path (s)
Total memory cost (MB)
Time for each iteration in pop-up stage (s)
Simple blouse (Fig. 14) Standing collar blouse (Fig. 17) Trousers (Fig. 18)
1049/2004 2855/5546
11270/44336 17480/34898
112 162
0.77 0.56
17.025 13.409
0.23 0.62
3322/6570
17480/34898
116
0.54
13.410
0.73
System configuration: Intel Core i5 760 2.80 GHz, 4 GB RAM.
6. Conclusions In this paper, a novel clothing computer aided design solution has been proposed for virtual try-on, fitting evaluation and style editing. The system helps the fashion industry to speed up the clothing design and development process. Different from traditional CAD approach, the proposed system first maps the
garment pattern pieces on the model surface with a novel cross parameterization technique. Next, a hybrid pop-up procedure, integrating both geometrical reconstruction and physical-based simulation, is used to restore the garment to its original size defined by the pattern pieces. It visualizes the clothing gap in the virtual try-on results, which provide useful information for fit evaluation. In addition, tools have been developed for users
Y. Meng et al. / Computer-Aided Design 44 (2012) 721–734
733
Fig. 18. (a) Mapping and (b) hybrid pop-up results of the trousers (front, side, and back views).
(a) Front view.
(b) Side view.
(c) Original blouse.
(d) Blouse with edited hem line.
Fig. 19. Fit evaluation of trousers with transparent (a) front view and (b) side view; pattern alteration of blouse by widening and lowering the hem line (c) and (d).
to interactively edit style and alter patterns in both 2D and 3D manners. The rules governing style editing in the fashion design discipline can be incorporated in the system. Thus the resulted patterns are ready for use in everyday production. It satisfies the needs of the fashion industry for accurate fit evaluation and interactive style editing. Acknowledgements The work described in this paper was partially supported by a grant from the Research Grants Council of the Hong Kong Special Administrative Region, China (Project Nos PolyU5254/08E and PolyU 5269/09E). Xiaogang Jin was supported by the National Key Basic Research Foundation of China (Grant No. 2009CB320801) and Zhejiang Provincial Natural Science Foundation of China(Grant
No. Z1110154). Thanks are also due to Mr. Jie Xu for preparing clothing pattern dxf files. The authors thank all reviewers’ valuable comments and thoughtful suggestions. References [1] Fuhrmann A, Gross C, Luckas V, Weber A. Interaction-free dressing of virtual humans. Computers & Graphics 2003;27:71–82. [2] McCartney J, Hinds BK, Seow BL. Dedicated 3D CAD for garment modeling. Journal of Materials Processing Technology 2000;107(11):31–6. [3] Volino P, Cordier F, Magnenat-Thalmann N. From early virtual garment simulation to interactive fashion design. Computer-Aided Design 2005;37: 593–608. [4] Meng YW, Mok PY, Jin XG. Interactive virtual try-on clothing design system. Computer Aided Design 2010;42(4):310–21. [5] Cordier F, Seo H, Magnenat-Thalmann N. Made-to measure technologies for an online clothing store. IEEE Computer Graphics and Applications 2003;23(1): 38–48.
734
Y. Meng et al. / Computer-Aided Design 44 (2012) 721–734
[6] Kim S, Kang T. Garment pattern generation from body scan data. Computer Aided Design 2003;35:611–8. [7] Kim S, Park CK. Basic garment pattern generation using geometric modeling method. International Journal of Clothing Science and Technology 2007;19(1): 7–17. [8] Liu S, Sheng JC, He L, Chen F. Simulation of 3D garment based on six pieces of bezier curved surfaces. Computer Science and Software Engineering (CSSE) 2008;1082–5. [9] Wang J, Lu G, Chen L, Geng Y, Deng W. Customer participating 3D garment design for mass personalization. Textile Research Journal 2011;81(2): 187–204. [10] Turquin E, Wither J, Boissieux L, Cani MP, Hughes JF. A sketch-based interface for clothing virtual characters. IEEE Computer Graphics and Applications 2007; 27(1):72–81. [11] Decaudin P, Julius D, Wither J, et al. Virtual garments: a fully geometric approach for clothing design. Computer Graphics Forum 2006;25(3):625–34. [12] Wang CCL, Shana SF, Smith Matthew MF. Surface flattening based on energy model. Computer-Aided Design 2002;34(11):823–33. [13] Luo ZG, Yuen MMF. Reactive 2D/3D garment pattern design modification. Computer Aided Design 2005;37(6):623–30. [14] Azariadis PN, Aspragathos NA. Geodesic curvature preservation in surface flattening through constrained global optimization. Computer Aided Design 2001;33(8):561–617. [15] Kim SM, Kang JT. Garment pattern generation from body scan data. ComputerAided Design 2003;35(7):611–8. [16] Liechty E, Rasband J, Pottberg-Steineckert D. Fitting & pattern alteration: a multi-method approach to the art of style selection, fitting, and alteration. 2nd ed. New York: Fairchild Books; 2010. [17] Huang HQ. Development of 2D block patterns from fit feature-aligned flattenable 3D garments. Ph.D. Thesis. Hong Kong: The Hong Kong Polytechnic University; 2011. [18] Meng YW, Mok PY, Jin XG, Kwok YL. Interactive computer aided editing of apparel patterns for style and fit optimisation. Working paper. The Hong Kong Polytechnic University. 2011.
[19] Maillot Jerome, Yahia H, Verroust A. Interactive texture mapping. In: Proc. SIGGRAPH 93. 1993. p. 27–34. [20] Sheffer A, Hart J. Seamster: inconspicuous low-distortion texture seam layout. Proceedings of IEEE Visualization 2002;291–8. [21] Haker S, Angenent S, Tannenbaum A, Kikinis R, Sapiro G, Halle M. Conformal surface parameterization for texture mapping. IEEE Transactions on Visualization and Computer Graphics 2000;6(2):181–9. [22] Sander P, Snyder J, Gortler S, Hoppe H. Texture mapping progressive meshes. In: SIGGRAPH. 2001. p. 409–16. [23] Levy B, Petitjean S, Ray N, Maillot J. Least squares conformal maps for automatic texture atlas generation. In: SIGGRAPH. 2002. p. 362–71. [24] Kunick P. Modern sizing and pattern making for women’s and children’s garments. UK: Philip Kunic Publication; 1984. [25] ISO 8559, 1989. Garment construction and anthropometric surveys-body dimensions, 1st ed. ISO. [26] Kraevoy V, Sheffer A. Cross-parameterization and compatible remeshing of 3D models. In: Proceedings of ACM SIGGRAPH 2004, ACM transactions on graphics. 23. No. 3. 2004. p. 861–9. [27] Huang HQ, Mok PY, Kwok YL, Au SC. Developing flattenable 3D foundation garments by developable boundary triangulation with fitting conditions guaranteed. In: A.D. Sappa (Ed.). Proceedings of the eleventh IASTED international conference on computer graphics and imaging. CGIM2010. 2010. p. 39–45. [28] Sheffer A, Kraevoy Vladislay. Pyramid coordinates for morphing and deformation. In: Proceedings of the 2nd international symposium of 3D data processing, visualization, and transmission. 3DPVT’04. 2004. p. 68–75. [29] Floater MS. Mean value coordinates. Computer Aided Geometric Design 2003; 20(1):19–27. [30] Breen DE, House DH, Getto PH. A physically based particle model of woven cloth. The Visual Computer 1992;8(5–6):264–77. [31] Ernst H, Christian L, Gerhard W. Geometric numerical integration illustrated by the Störmer-Verlet method. Acta Numerica 2003;390–450. [32] Erwin MD, Kinchen LA. Clothing for moderns. 5th ed. New York (NY): Macmillan; 1974.