Minimal Surfaces & Catenaries
Minimal Surfaces (Plateau's Problem & Soap Films): A soap film spanning a wire boundary naturally contracts to minimize its surface area due to isotropic surface tension. Mathematically, this satisfies Plateau's problem: the mean curvature vanishes everywhere ($H = \frac12(\kappa_1 + \kappa_2) = 0$), creating saddle geometry where principal curvatures are equal and opposite. Frei Otto utilized physical soap films to pioneer lightweight tensile membrane architecture (e.g. 1972 Munich Olympic Stadium).
Minimal Surface Principles:
1import numpy as np23def solve_minimal_surface_dirichlet(vertices, fixed_boundary_indices, L_cot, max_iter=20):4 """5 Solves Plateau's problem for minimal surfaces (zero mean curvature H = 0).6 Minimizes Dirichlet area energy: E(v) = 0.5 * Tr(V^T * L_cot * V).7 Interior vertices satisfy Laplace-Beltrami Delta_S v = 0.8 """9 free_indices = [i for i in range(len(vertices)) if i not in fixed_boundary_indices]1011 # Linear solve for interior equilibrium positions:12 # L_free,free * v_free = -L_free,fixed * v_fixed13 return "Equilibrium Minimal Surface (H = 0, Uniform Surface Tension)"
Inverted Catenary Chains (Hooke & Gaudí): In 1675, Robert Hooke formulated his famous principle: "As hangs a flexible cable, so inverted stands the rigid arch." Because a flexible chain cannot resist bending, it self-organizes under gravity into a state of pure axial tension. Flipping this geometry $180^\circ$ vertically yields the ideal structural arch where every cross-section is in pure compression with zero bending moments ($M = 0$). Antoni Gaudí used multi-tier stereostatic hanging models to design the Crypt of Colònia Güell and the Sagrada Família.
Catenary Principles:
1import math23def catenary_curve(x_span=4.0, sag=1.5, num_nodes=25):4 """5 Computes hyperbolic cosine catenary curve: y(x) = a * cosh(x / a) - a.6 Parameter 'a' is the ratio of horizontal tension H to weight per unit length w.7 A hanging chain experiences pure axial tension;8 inverted, it forms the exact compression-only arch with zero bending moment.9 """10 # Solve for parameter 'a' given span and desired sag11 # Then sample points along span [-x_span/2, x_span/2]12 return "Catenary Node Coordinates"