extractEigenModes
fun extractEigenModes(mask: BooleanArray, width: Int, height: Int, count: Int, random: Random = Random(0)): List<GridEigenMode>(source)
Extracts the count lowest-frequency Dirichlet ("fixed edge") vibrational eigenmodes of the domain marked true in mask, a width x height grid. This is the discrete analogue of solving -Δu = λu on the domain with u = 0 on its boundary -- the same problem that produces Chladni figures on a clamped drum head.
Return
The requested modes, ascending by GridEigenMode.eigenvalue.
Parameters
mask
Interior/exterior flag per grid cell, size width * height. Must contain at least one true cell.
count
Number of modes to extract, ordered from lowest to highest frequency. Clamped to the number of interior grid cells.
random
Source of the eigensolver's random initial vectors. Defaults to a fixed seed (Random(0)) for reproducible results.