1. abstract
    1. build upon existing physically based methods
  2. introduction
    1. does not simulate dynamic forces or elastic waves
    2. the nodes do not move or have velocity
    3. use a first-order quasi-static system
    4. inherently more stable than a second-order system
    5. optionally move nodes as a post-processing step to create crack width
    6. where cracks occur and how they propagate
      1. O'brien1999
  3. Background
    1. two categories of methods for generating crack patterns
      1. non-physical approach
        1. maps some form of procedural crack pattern to an object’s surface[16]
        2. carves out a volume to generate crack depth [18,5]
        3. form cracks on a 2D surface to replicate Batik painting cracks [35]
        4. create cracks similar to an input image [20]
      2. physically based methods
        1. reproduce crack patterns in microsphere monolayers[32]
        2. model tree bark[6]
        3. cracks in surfaces[12]
        4. volumes[13]
        5. multi-layer surfaces [10]
        6. materials peeling off of surfaces [11]
        7. Paint cracking and peeling [28]
        8. wedge-shaped finite elements to model cracks [7,8]
    2. previous works
      1. methods
        1. simulating elastic [34] and inelastic deformation of objects, including fracture [33]
        2. mass-spring system [24]
        3. Finite elements
          1. brittle fracture [27]
          2. ductile fracture [26]
          3. elasto-plastic materials and interactive fracture [21]
          4. fracture and deformation of voxelized surface meshes [22]
        4. other algorithms
          1. virtual node algorithm [19]
          2. a membrane-bending model for thin shell objects [9]
          3. a meshless framework [29]
    3. similar works
      1. Valette and colleagues [36]
        1. use both physical and non-physical processes
          1. precompute a 2D crack network
          2. model the volume decrease in the material
          3. compute the resulting crack widths
          4. apply it to a parameterized 3D surface
      2. Our method
        1. use heuristics to initialize the stress field
        2. a relaxation process to compute the resulting crack pattern.
        3. run our simulation directly on the 3D triangle mesh of the model.
  4. Mesh updates
    1. Relaxation
    2. Other stress field updates
      1. Modeling anisotropic materials
      2. Modeling impact patterns
      3. Using curvature
      4. Defining arbitrary stress patterns
      5. Generating cracks
        1. We do not add a new crack edge if it is too close to a current crack edge
  5. Stress, forces and the separation tensor
    1. The algorithm
      1. Initialize the stress field according to heuristics and optionally evolve it with relaxation.
      2. Compute the failure criteria for each node and store the nodes in a priority queue based on this value.
      3. While failure can occur and the user wishes to continue
        1. Crack the mesh at the node associated with the top of the priority queue.
        2. Evolve the stress field
          1. Perform relaxation.
          2. Optional: Add shrinkage tension and/or curvature biasing.
        3. Update the mesh information and priority queue.
      4. For display, either
        1. Post-process the mesh by moving the vertices to give the cracks width and filling in the gaps with side-walls for the cracks.
        2. Directly render crack edges.
    2. Stress field
      1. equilibrium
        1. when the stress field is initialized to zero
      2. drying and shrinkage
        1. uniform tension
        2. or
        3. curvature tensor
        4. example
          1. left: Curvature; right: Uniform
    3. Forces
    4. The separation tensor
      1. to determine
        1. whether a crack occurs at a node
        2. the resulting orientation for the crack surface
  6. Post-processing
    1. curling effect