GithubHelp home page GithubHelp logo

liren2515 / garment-flattening Goto Github PK

View Code? Open in Web Editor NEW

This project forked from corentindumery/garment-flattening

0.0 0.0 0.0 23.59 MB

C++ 95.97% C 0.21% CMake 0.26% Jupyter Notebook 3.56%

garment-flattening's Introduction

GG WP: General Garment Woven Parameterization

"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

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.

garment-flattening's People

Contributors

corentindumery avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.