flag-cloth

Simulación de tela

Cómo la integración Verlet y las restricciones de posición convierten una cuadrícula en tela.

Cada punto de la cuadrícula guarda su posición actual, posición anterior, aceleración acumulada, masa inversa y estado de sujeción en arrays tipados. La integración Verlet obtiene la velocidad a partir del desplazamiento entre las posiciones actual y anterior, aplica amortiguación y aceleración, y después avanza la posición.

Familias de restricciones

  • Estructurales: los vecinos horizontales y verticales conservan la trama.
  • Diagonales: los vecinos diagonales evitan que cada celda colapse en forma de rombo.
  • De flexión: las partículas separadas por dos celdas resisten pliegues demasiado cerrados sin volver rígida la tela.

El solver corrige los errores de distancia de manera iterativa. Las partículas fijas tienen masa inversa cero y no se mueven durante la integración ni durante la proyección de restricciones.

La resolución de la textura es independiente

Una imagen de 2048 × 1365 no crea millones de partículas. La textura permanece como una imagen de alta resolución en la GPU, mientras que segments: { x: 32, y: 20 } crea solo 693 puntos simulados. Aumenta los segmentos para obtener siluetas y pliegues más detallados, no para hacer más nítida la imagen.

Tiempo fijo

El bucle de animación acumula el tiempo transcurrido en pantalla y avanza el solver en pasos fijos. Un límite para el delta evita que una pestaña detenida u oculta provoque una actualización acumulada inestable.

En esta página