Skip to content

Corotational FEM cloth


Loading...

Corotational FEM cloth using triangle membrane elements[1], with the same implicit Euler + CG loop as the mass-spring demo.

50×50 grid, two corners pinned, 4802 triangles. μ=400000\mu = 400000, λ=100000\lambda = 100000, thickness =0.01= 0.01. Edit the scene above -- changes auto-apply. Click and drag vertices to interact.

Each triangle gets a deformation gradient F=DsDm1F = D_s D_m^{-1}, then SVD extracts the rotation (F=UΣVT,  R=UVTF = U\Sigma V^T,\; R = UV^T with reflection fix) for the energy:

Ψ=μFRF2+λ2(tr(RTF)2)2\Psi = \mu\,\lVert F - R \rVert_F^2 + \tfrac{\lambda}{2}\bigl(\mathrm{tr}(R^T F) - 2\bigr)^2

The Hessian uses the Gauss-Newton approximation (drops R/F\partial R / \partial F), which stays SPD so CG would converge. Kugelstadt 2018[2] recovers those terms via operator splitting for better convergence on stiff materials.

Color shows per-triangle area strain (green = rest, red = stretched, blue = compressed). Compared to mass-spring, shear behavior comes from μ,λ\mu, \lambda directly -- no diagonal springs needed, and refining the mesh doesn't change effective stiffness.

References

  1. Müller & Gross 2004 -- Interactive Virtual Materials
  2. Kugelstadt et al. 2018 -- Fast Corotated FEM