<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>cloth simulation | Yifei Li</title><link>https://liyifei.org/tag/cloth-simulation/</link><atom:link href="https://liyifei.org/tag/cloth-simulation/index.xml" rel="self" type="application/rss+xml"/><description>cloth simulation</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><copyright>© 2026 Yifei Li | 君子不器</copyright><lastBuildDate>Fri, 01 Dec 2023 00:00:00 +0000</lastBuildDate><image><url>https://liyifei.org/media/icon_huce83f9d2cff91faab74beee6f515005c_132226_512x512_fill_lanczos_center_3.png</url><title>cloth simulation</title><link>https://liyifei.org/tag/cloth-simulation/</link></image><item><title>DiffAvatar: Simulation-Ready Garment Optimization with Differentiable Simulation</title><link>https://liyifei.org/publication/diffavatar/</link><pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate><guid>https://liyifei.org/publication/diffavatar/</guid><description>&lt;h3 id="pipeline">Pipeline&lt;/h3>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="pipeline.jpg#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>DiffAvatar generates simulation-ready avatar assets from inputs obtained through a multi-view capture. Our pipeline initially
preprocesses the 3D scan to segment the target garment and establish the initial pose and shape of the parametric body model. We employ a
differentiable simulation framework to align our simulated garment with the segmented garment by jointly optimizing the garment’s design
and material parameters&lt;/p>
&lt;h3 id="garment-2d-representation">Garment 2D Representation&lt;/h3>
&lt;!-- ![](2d3d.png#paper_image) -->
&lt;img src=2d3d.png width="80%"/>
&lt;p>Garments can take on a wide range of 3D shapes when draped onto a body, due to factors such as changing pose and dynamics or wearer manipulations. Despite this large variation in configurations, garments are compactly represented by their 2D patterns (Fig. 3), which consist of the individual pieces of fabric that are sewn together to create the 3D clothing. Therefore, we represent clothing in 2D pattern space, which ensures developable meshes and manufacturable clothing. Virtual garments are modeled as triangle meshes, with their rest shape encoded in these 2D patterns. The rest shape is crucial for modeling the in-plane stretching and shearing behavior of different fabrics.&lt;/p>
&lt;h3 id="control-cage-garment-shape-optimization">Control Cage Garment Shape Optimization&lt;/h3>
&lt;p>We propose a regularized differentiable cage formulation to effectively and robustly optimize for the 2D patterns of garments such that the simulated and draped 3D representation of the garment closely aligns with the scan.&lt;/p>
&lt;p>&lt;strong>Control Cage Pattern Representation&lt;/strong>:
&lt;img src=control-cage.png width="20%"/>&lt;/p>
&lt;p>While it is possible to directly optimize for the 2D pattern vertices p directly, this approach is highly non-regularized and can produce ill-shaped or even non-physical inverted rest shape geometries that cause simulators to fail.&lt;/p>
&lt;p>A high number of optimization variables can also cause the optimization to get stuck in a local minimum (See our ablation study in Sec. 5.4). Additionally, directly optimizing for the 2D coordinates does not respect design constraints that are better represented in a limited subspace of reasonable designs. Therefore, we further regulate the optimization problem by selecting and optimizing a set of 2D control vertices ζ on the boundaries of the individual panels of the 2D pattern that directly deform and manipulate the underlying 2D patterns through control cages instead.&lt;/p>
&lt;p>&lt;strong>Control Cage Handle Selection&lt;/strong>: We use the geometric information of the 2D garment patterns to automatically identify control cage points, see the inset figure above. Our algorithm first extracts the boundary loop of the underlying mesh for each connected component representing a garment panel in the 2D garment pattern, then processes the boundary loop and marks a vertex as a control point if it lies on the convex hull of the pattern or when its local curvature exceeds a threshold (10° in our implementation).&lt;/p>
&lt;h3 id="demo">Demo&lt;/h3>
&lt;div class="video-container">
&lt;iframe src="https://www.youtube.com/embed/vH2MCXneAUE" class="video" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="">&lt;/iframe>
&lt;/div>
&lt;!--
### Code 💻
Follow our Github repository [Animated Drawings](https://github.com/facebookresearch/AnimatedDrawings) &lt;iframe src="https://ghbtns.com/github-btn.html?user=facebookresearch&amp;amp;repo=AnimatedDrawings&amp;amp;type=star&amp;amp;count=true&amp;amp;size=large" frameborder="0" scrolling="0" width="170" height="30" title="GitHub">&lt;/iframe>
&lt;a href="https://github.com/facebookresearch/AnimatedDrawings" target="_blank" rel="noopener">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100">&lt;img src="https://gh-card.dev/repos/facebookresearch/AnimatedDrawings.svg?fullname=" alt="facebookresearch/AnimatedDrawings - GitHub" loading="lazy" data-zoomable="" class="medium-zoom-image">&lt;/div>
&lt;/div>&lt;/a>
### Technical Posts
* Dataset of 180,000 annotated drawings: [A new, unique AI dataset for animating amateur drawings](https://ai.facebook.com/blog/ai-dataset-animating-kids-drawings/)
* Meta AI Technical post: [Using AI to bring children’s drawings to life](https://ai.facebook.com/blog/using-ai-to-bring-childrens-drawings-to-life/)
* Meta AI interview: [Meet the researcher using AI to build children’s animations](https://tech.facebook.com/artificial-intelligence/2021/12/ai-childrens-drawings/)
### Dataset
We have open sourced our [dataset](https://github.com/facebookresearch/AnimatedDrawings#amateur-drawings-dataset) of ~180,000 annotated drawings, which you can explore for your own research.
### Website
Go to [here](https://fairanimateddrawings.com/site/home)
### Video
&lt;div class="video-container">
&lt;iframe src="https://www.youtube.com/embed/WsMUKQLVsOI" class="video" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="">&lt;/iframe>
&lt;/div>
&lt;div class="video-container">
-->
&lt;h3 id="citation">Citation&lt;/h3>
&lt;pre>&lt;code>@inproceedings{li2023diffavatar,
title={{DiffAvatar}: Simulation-Ready Garment Optimization with Differentiable Simulation},
author={Li, Yifei and Chen, Hsiao-yu and Larionov, Egor and Sarafianos, Nikolaos and Matusik, Wojciech and Stuyck, Tuur},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
eprint={2311.12194},
year = {2024}
}
&lt;/code>&lt;/pre>
&lt;!-- ### Acknowledgement
We would like to thank FAIR Interfaces, FAIR X, and other members of Meta who helped in the building and release of the demo -->
&lt;h3 id="keywords">Keywords&lt;/h3>
&lt;p>graphics, physical simulation, digital avatar, differentiable simulation, cloth simulation&lt;/p></description></item><item><title>DiffCloth: Differentiable Cloth Simulation with Dry Frictional Contact</title><link>https://liyifei.org/publication/diffcloth/</link><pubDate>Fri, 01 Apr 2022 00:00:00 +0000</pubDate><guid>https://liyifei.org/publication/diffcloth/</guid><description>&lt;!-- &lt;div class="alert alert-note">
&lt;div>
Click the &lt;em>Cite&lt;/em> button above to demo the feature to enable visitors to import publication metadata into their reference management software.
&lt;/div>
&lt;/div>
&lt;div class="alert alert-note">
&lt;div>
Create your slides in Markdown - click the &lt;em>Slides&lt;/em> button to check out the example.
&lt;/div>
&lt;/div>
-->
&lt;!-- Supplementary notes can be added here, including [code, math, and images](https://wowchemy.com/docs/writing-markdown-latex/). -->
&lt;h3 id="keywords">Keywords&lt;/h3>
&lt;p>diffcloth, projective dynamics, jacobi solver, cloth simulation, differentiable simulation, physics simulation, inverse problems&lt;/p>
&lt;h3 id="code-">Code 💻&lt;/h3>
&lt;p>Follow our Github repository &lt;a href="https://github.com/omegaiota/DiffCloth" target="_blank" rel="noopener">Diffcloth&lt;/a> &lt;iframe src="https://ghbtns.com/github-btn.html?user=omegaiota&amp;amp;repo=DiffCloth&amp;amp;type=star&amp;amp;count=true&amp;amp;size=large" frameborder="0" scrolling="0" width="170" height="30" title="GitHub">&lt;/iframe>&lt;/p>
&lt;a href="https://github.com/omegaiota/diffcloth" target="_blank" rel="noopener">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100">&lt;img src="https://gh-card.dev/repos/omegaiota/diffcloth.svg?fullname=" alt="omegaiota/diffcloth - GitHub" loading="lazy" data-zoomable="" class="medium-zoom-image">&lt;/div>
&lt;/div>&lt;/a>
&lt;h3 id="demos">Demos&lt;/h3>
&lt;p>For details refer to the paper Sec 6. Applications.&lt;/p>
&lt;h4 id="hat-trajectory-optimization">Hat: Trajectory Optimization&lt;/h4>
&lt;p>Optimize manipulator end effector trajectories to move the hat onto the head. &lt;br>
1737 Dof, h=1/100s, 400 Timesteps, 18 Design Parameters
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="hat.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h4 id="sock-trajectory-optimization">Sock: Trajectory Optimization&lt;/h4>
&lt;p>Optimize manipulator end effector trajectories to put on the sock. &lt;br>
3165 Dof, h=1/160s, 400 Timesteps, 36 Design Parameters
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="sock.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h4 id="hat-controller-closed-loop-control">Hat-Controller: Closed-Loop Control&lt;/h4>
&lt;p>We train a &lt;em>generalizable&lt;/em> closed-loop controller that can put on the hat from different initial positions. &lt;br>
1737 Dof, h=1/100s, 400 Timesteps, 117126 Design Parameters&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="hatcontroller.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h4 id="dress-inverse-design">Dress: Inverse Design&lt;/h4>
&lt;p>Optimize dress material parameters so that the spinning angle of the dress is 50 degrees. &lt;br>
10902 Dof, h=1/120s, 125 Timesteps, 2 Design Parameters
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="dress.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h4 id="sphere-system-identification">Sphere: System Identification&lt;/h4>
&lt;p>Optimize the fricitonal coefficient between the sphere and the cloth to match target trajectory. &lt;br>
1875 Dof, h=1/180s, 350 Timesteps, 1 Design Parameters
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="sphere.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h4 id="t-shirt-system-identification">T-shirt: System Identification&lt;/h4>
&lt;p>Optimize wind model and cloth material parameters to match target trajectory. &lt;br>
4278 Dof, h=1/90s, 250 Timesteps, 6 Design Parameters
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="tshirt.gif#paper_image" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="demo">Demo&lt;/h3>
&lt;div class="video-container">
&lt;iframe src="https://www.youtube.com/embed/WWmWuhJcPYY" class="video" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="">&lt;/iframe>
&lt;/div>
&lt;h3 id="presentation">Presentation&lt;/h3>
&lt;div class="video-container">
&lt;iframe src="https://www.youtube.com/embed/GH8jLG7UIYQ" class="video" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="">&lt;/iframe>
&lt;/div>
&lt;h3 id="citation">Citation&lt;/h3>
&lt;pre>&lt;code>@article{li2022diffcloth,
author = {Li, Yifei and Du, Tao and Wu, Kui and Xu, Jie and Matusik, Wojciech},
title = {DiffCloth: Differentiable Cloth Simulation with Dry Frictional Contact},
year = {2022},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
issn = {0730-0301},
url = {https://doi.org/10.1145/3527660},
doi = {10.1145/3527660},
abstract = {Cloth simulation has wide applications in computer animation, garment design, and robot-assisted dressing. This work presents a differentiable cloth simulator whose additional gradient information facilitates cloth-related applications. Our differentiable simulator extends a state-of-the-art cloth simulator based on Projective Dynamics (PD) and with dry frictional contact&amp;amp;nbsp;[Ly et&amp;amp;nbsp;al. 2020]},
note = {Just Accepted},
journal = {ACM Trans. Graph.},
month = {mar},
keywords = {cloth simulation, differentiable simulation, Projective Dynamics}
}
&lt;/code>&lt;/pre>
&lt;h3 id="acknowledgement">Acknowledgement&lt;/h3>
&lt;p>We thank Marco Renedo for his helpful discussions on the preconditioners, Junbang Liang for his help with
running the baseline comparison code, and the anonymous reviewers for their helpful comments. This work was
supported in part by the Defense Advanced Research Projects Agency (DARPA) under grant No. FA8750-20-C-0075.&lt;/p></description></item></channel></rss>