Hi, thanks for voting this up! I created this with a few colleagues. Our goal was to make a fabric simulation tool that might inspire creative exploration among artists and engineers. I hope you find it fun to play with, and welcome any feedback and suggestions on how to improve this.<p>We started from a three.js cloth simulation example and made a bunch of modifications. The cloth is modeled as a grid of point masses (particles) connected by springs. We've got options for horizontal & vertical springs (simulating cross grain, where the cloth threads run parallel to the edges), diagonal springs (simulating bias grain, where the cloth threads run diagonally), and springs that connect particles two units apart (simulating drape / bending stiffness, similar to a starched tablecloth). It's kind of amazing how a simple system of particles and springs can result in such rich cloth-like behavior. Other than the springs (which are modeled as constraints on the distance between particles), the only forces on the particles are wind and gravity. In addition we have constraints that account for collisions and simulate friction-like behavior.<p>We've submitted a paper that explains the details of how this works which I'll share once it's published, but for now if you're interested in learning more here are a few references, or google 'verlet integration constraints'. Also happy to try to answer your questions.<p><a href="https://graphics.stanford.edu/~mdfisher/cloth.html" rel="nofollow">https://graphics.stanford.edu/~mdfisher/cloth.html</a>
<a href="http://www.pagines.ma1.upc.edu/~susin/files/AdvancedCharacterPhysics.pdf" rel="nofollow">http://www.pagines.ma1.upc.edu/~susin/files/AdvancedCharacte...</a>
<a href="http://kucg.korea.ac.kr/education/2005/CSCE352/paper/provot95.pdf" rel="nofollow">http://kucg.korea.ac.kr/education/2005/CSCE352/paper/provot9...</a>
<a href="http://luthuli.cs.uiuc.edu/~daf/courses/Games/SimList/Papers/Baraff-1998-LSC.pdf" rel="nofollow">http://luthuli.cs.uiuc.edu/~daf/courses/Games/SimList/Papers...</a>