There are a variety of ways to “physically model” a vibrating system.
One approach involves the representation of a system in terms of ideal “lumped” masses, springs, and dashpots. Differential equations can be derived to describe the system motion and then discretized for computer implementation (as demonstrated for a simple example in the previous section).
The Cordis-Anima
system by Claude Cadoz et al. at ACROE is based around these types of particle interactions.
Another approach involves the creation of a spatially sampled grid or mesh that approximates the shape of a system. By correctly accounting for the interaction of mesh junctions and boundary conditions, the vibrations of the system can be visualized and sound can be generated by “listening” to a particular grid point or points.
Figure 13:
Wave visualization on a 2D waveguide mesh.
The Matlab script mesh2d.m
implements a 2D rectilinear digital waveguide mesh structure, allowing visualization of wave propagation over time in the structure. This same algorithm is also implemented for realtime synthesis in the Mesh2D class of the Synthesis ToolKit in C++ (STK).
Some modeling techniques, such as modal synthesis and Perry Cook's PhISEM models, are based on a physical understanding of how objects vibrate and/or interact, without actually attempting to accurately model those vibrations or interactions.