Skip to content

CorentinDumery/garment-flattening

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

garment-flattening

"If your pair of jeans isn't even isotropic, why should its parameterization be?"

Previous UV mapping methods (ABF++, LSCM, ARAP, BFF, SCAF, AutoCuts, OptCuts, ...) are rotation invariant and minimize triangle distortion without any assumption on the material being flattened. These methods are unfit for anisotropic materials which stretch unequally along different axes.

This repository provides an implementation of the anisotropic parameterization described in Computational Pattern Making from 3D Garment Models by Pietroni et al. It's original intent is to accurately flatten woven textiles, for which the thread structure induces anisotropy in their ability to stretch.

Testing

git clone https://github.com/CorentinDumery/garment-flattening
cd garment-flattening/
git submodule update --init --recursive
mkdir build && cd build
cmake ..
make -j woven_param       #build library
make -j woven_viz         #build test app
./woven_viz [path/to/input/mesh.obj]

Then, the main features of our parameterization can be visualized with the following commands:

make -j woven_viz && ./woven_viz ../data/jumpsuit_multipose/front1.obj
make -j multiple_poses && ./multiple_poses
make -j reflec_param && ./reflec_param

Features

  • Shearing: we allow threads to shear, if this helps reduce stretch on the grain axes.

teaser

  • Vertical alignment: patterns are aligned with the vertical axis in 3D.

teaser

  • Reflectability: opposite sides or seams are constrainted to be a reflection. This makes sewing significantly easier.

teaser

  • Multiple poses: given multiple target 3D meshes representing different poses, we produce a 2D pattern that best fits all targets.

Adding to your project

git add submodule https://github.com/CorentinDumery/garment-flattening
git submodule update --init --recursive

Then, in your CMakeLists.txt, add:

add_subdirectory([path_to_garment-flattening]/garment-flattening)
...
target_link_libraries([target] woven_param)

Citing

Thank you for reading! If this repository is useful to you, feel free to reach out and/or cite our paper:

@article{ComputationalPatternmaking:2022,
  title = {Computational Pattern Making from {3D} Garment Models},
  author = {Nico Pietroni and Corentin Dumery and Raphael Falque and Mark Liu and Teresa Vidal-Calleja and Olga Sorkine-Hornung},
  journal = {ACM Transactions on Graphics},
  volume = {41},
  number = {4},
  pages = {157:1–14},
  year = {2022},
  publisher = {ACM}
}

animals_figure

License

MIT License

Copyright (c) [year] [fullname]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Acknowledgments

Some of the models used in this repository are adapted from Generating Datasets of 3D Garments with Sewing Patterns by Maria Korosteleva and Sung-Hee Lee.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published