Cloth mechanics · an interactive experiment

A stretchy flag on the Moon

Grab the glowing top-right corner. Pull it away from the pole to stretch the cloth, then let go. Nothing blows it around: only your hand, the cloth, and lunar gravity.

JavaScript and WebGL are needed for the cloth experiment. drag this corner
Left edge fixed · front camera fixedMoon gravity: 1.62 m/s² · no wind or air drag
Corner held, ready to pull Local stretch: 0%

The cloth is deliberately soft. At its teaching limit it stops extending rather than tearing. Try pulling outward, then down or up. Touch works too. Keyboard: focus the corner, Space to grab or release, arrows to pull. Escape lets go.

What is being modeled?

A 2.4 × 1.4 m elastic sheet is attached only along its left edge. A temporary hand holds the top-right corner on reset. A mesh of moving mass points resists length changes, diagonal shear, and changes of tangent direction between neighboring patches. Its positions are computed from forces and compliant constraints, not prescribed falling or waving paths. Lighting follows the changing surface normals. A small initial out-of-plane nudge allows bending to develop without an artificial perfectly planar symmetry.

Extension links use 35 N/m and diagonal shear links 0.35 N/m: intentionally soft teaching choices, not chapter one's continuum stiffnesses or measured sailcloth. A separate inequality caps each link at 1.55 times its original length (55% local extension). The hand is bounded to a feasible region and moves gradually; a step that fails the limit is rejected. This nonlinear limiting rule is an addition to the article's linear membrane energy, which has no inherent maximum extension. Real fabric can tear; this model's unbreakable cap is not a claim about it.

Bending uses a quadratic penalty on changes of neighboring tangent vectors, solved with the same compliant method. Its coefficient is 2 N/m, reduced from 80 N/m so it no longer props up the sheet like a plate. This smooths curvature but also resists nonuniform stretching; it is a discrete regularizer, not a calibrated shell law. The chosen grid has 375 nodes and 672 triangles. Reduced numerical/material-like damping (0.35 per second) removes energy for usable settling; it is not air resistance in a vacuum. Self-contact, tearing, contact with the pole or ground, and measured material behavior are not modeled. Overlaps are possible, and settling time is illustrative.

Gravity is based on NASA's Moon Fact Sheet. The compliant solver follows extended position-based dynamics. All other material parameters are deliberate demonstration choices.