4 ms·
> those "Mandala" images Chladni Plates? A few links from past research: https://www.comsol.com/blogs/how-do-chladni-plates-make-it-possible-to-visualize-soun
by Cactus2018 6y ago
> those "Mandala" images
Chladni Plates? A few links from past research:
https://www.comsol.com/blogs/how-do-chladni-plates-make-it-possible-to-visualize-sound/ https://www.comsol.com/blogs/how-do-chladni-plates-make-it-p...
Video example - https://www.youtube.com/watch?v=dPTnGEEoFf4 https://www.youtube.com/watch?v=dPTnGEEoFf4
https://www.youtube.com/watch?v=CR_XL192wXw https://www.youtube.com/watch?v=CR_XL192wXw
interactive version - https://www.dynamicmath.xyz/calculus/chladni-patterns/ https://www.dynamicmath.xyz/calculus/chladni-patterns/
https://www.youtube.com/watch?v=tFAcYruShow https://www.youtube.com/watch?v=tFAcYruShow
- gbh444g 6y agoYeah, that's where my journey started. I've explored those quite a bit, even wrote a GLSL solver (wave-glsl.github.io/web) to visualize height maps of the u_tt = u_xx + u_yy equation (there is a shallow water equation solver there as well). Problems were that: (1) Making a stable and fast solver is very difficult. A simple solver for the canonical wave equation is fast, but unstable, so the solution has to be periodically adjusted to avoid NaNs. A stable solver, even for the simplest equation, would be 20x slower. For complex cases, we'd have to involve the Floquet theory, but that would bring an already slow solver to a halt. (2) A wave diff equation can barely visualize a select frequency, not even a simple mix of frequencies or let alone music. The thing is such wave equations and their boundary shapes have a few select "resonance frequencies" that produce semi-stable patterns. Even a tiny step from a stable frequency, e.g. 6.1 Hz vs 6 Hz, and the solution turns into a mix of unstable patterns morphing one into another, which is cool, but not visually appealing. Mixing multiple frequencies together often produces an unstable mess and even if a pattern forms, you're never sure if it's the pattern for that frequency or just a transient shape, and if it's transient, you can't know if it's due to numeric errors or due to the nature of the equation. (3) Limited resolution. The rule of thumb is that on a 1000x1000 px screen, the densest Chladni pattern would make 500 full wave repetitions, one pixel per positive and negative sides of the wave. This means we can render only the 500 different frequencies, with 500 Hz slowly turning into a mess due to rounding errors (2 pixels per wave period isn't really enough). Increasing the internal solver buffer to say 4096px brings fps down to 3-4. However, despite all this, Chladni patterns are hiding something very remarkable, that seems to be glossed over in technical papers. If you imagine that a Chaldni pattern is a water or glass surface, with reflective and refractive properties, and look at the reflection of a simple symmetric object, e.g. a ring, you'd see something resembling a 3d hologram: all these inter-reflections will produce a "virtual image" or remarkable complexity. This picture can be taken by a hi-res camera, but visualizing it with GLSL is again very difficult: the raytracer needs to be outrageously precise.