extractNeumannEigenModes
Extracts the count lowest-frequency Neumann ("free 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 a zero-derivative (reflecting) boundary -- the free-plate counterpart to extractEigenModes's clamped drum head.
The underlying Laplacian is only positive semi-definite: its smallest eigenvalue is exactly 0, with a constant field as eigenvector -- a uniform, patternless "mode" representing the domain free to sit at any level, rather than an actual vibration. That trivial mode is always included as mode 0 when count >= 1; GridEigenMode.frequencyRatio is computed relative to the first genuinely non-trivial mode (mode 1) rather than mode 0.
Return
The requested modes, ascending by GridEigenMode.eigenvalue.
Parameters
Interior/exterior flag per grid cell, size width * height. Must contain at least one true cell.
Number of modes to extract, ordered from lowest to highest frequency (including the trivial constant mode). Clamped to the number of interior grid cells.
Source of the eigensolver's random initial vectors. Defaults to a fixed seed (Random(0)) for reproducible results.