How can I create a cymatic visiualizer, In a water/fluid simulator????

Okay what I want to run a cymatic based simulation in Blender. I know I have to use a fluid sim to imitate the water, then I need Blender to accept input of sound or music. Then it has to be converted to display its geometric pattern. Then display it onscreen. So its a bit more then just a music visualizer. The science behind it seems to manly come form from “William C. Elmor’s Physics of Waves, section 2.3”. Its about standing waves on a membrane, particle vibration and such. How would I go about doing this in blender? It would be cool to learn and experiments with cymatic geometry on the computer. As long as it as accurate of a real cymatic device.
If successful cymatic simulations can be done in Blender that would be awesome. :slight_smile:

Cymatics (from Greek: κῦμα “wave”) is the study of visible sound co vibration, a subset of modal phenomena. Typically the surface of a plate, diaphragm, or membrane is vibrated, and regions of maximum and minimum displacement are made visible in a thin coating of particles, paste, or liquid.[SUP][1][/SUP] Different patterns emerge in the excitatory medium depending on the geometry of the plate and the driving frequency.
The apparatus employed can be simple, such as the old Chinese spouting bowl, or Chinese singing fountain, in which copper handles are rubbed and cause the copper bottom elements to vibrate.[SUP][citation needed][/SUP] Other examples include the Chladni Plate[SUP][2][/SUP] and the CymaScope.

Here is a video of the geometric cymatics of MoonLight Sonata. This is done by pumping in sound through a speaker into a dish of water.

Cool cymatics with particles.

Human voice made visible.

1 Like

Click on this video, I want to figure out how to do this blender.
The Universe of Resonance - Cymatics - Harmonics - Sacred Geometry

What you want to do is probably technically possible in blender.

However, creating audio-frequency standing waves using a full fluid simulation will be insanely expensive in terms of computation. You need to introduce … say… 60-1000hz waves into a fluid simulation, then run the simulation until the standing wave stabilizes in 3 dimensions. This will require higher-frequency sampling per frame, and higher-resolution than any fluid sim I’ve seen, ever, let alone in blender.

Unless there is a way to fake this, I don’t think your idea is feasible.

I would look into creating the interferences in 2D using OSL or something. Using a fluid sim for this is absolutely a brute-force situation. I doubt it will go very well.

This is not to mention that the caustics you want to create the cool look of the water are also somewhat expensive to calculate and would only really work in the bidir or MLT branches.

Hmm… that sucks. :frowning:

Good fakes are a big part of CG, so… it could be seen as a chalange to
(i wonder…a few wave pattern generated textures zooming over time or so, combined with a bump map / or dicplacement map

1 Like

Moved from “General Forums > Blender and CG Discussions” to “Support > Particles and Physics Simulations”

Yeah, in the water cymatic devices, the water has that displacement. Hmmm… so in other words if you knew the geometry of each note/tone etc you could display it? I keep thinking of how by a cube on 2d paper, it then has to illusion of being 3d. So you wouldn’t have to build a complex 3d model… I haven’t figured out how to cheat to get the results I need. :slight_smile:

Why do you need a water simulation? this has nothing to do with water or whatever fluid simulation, you can create a script to change a basic mesh according to the sound waves, there’s something similar in this forum.

I never wrote a python script before, so that would be fun. :slight_smile: You would need to input the mathematical formulas that produce the cymatic effect then tell the mesh what to do based of that? I think I’m understanding what you’re saying. I’m having problems understanding how this works with a mesh.:frowning:

Well, what happens with these types of visualizations is that the waves begin to propagate through the material, the material resonates, then the waves reflect from the sides, interfere in 2 dimensions, and the resulting shapes form in the regions of low energy, i.e. where the destructive interference happens. (I think).

So simulating resonant standing waves is expensive/hard because in order to get the standing wave, you must have many waves of audio frequency (think 1000+ waves) enter the medium and then the medium has to settle into a standing wave/resonance.

If you look at most fluid simulations they don’t simulate this many large-scale/coarse interactions, because it would take a long time to simulate.

So while this is possible in theory, it would probably take a lot of CPU time to do it for “real”.

However, there are ways to fake this with 2D textures. What you would need to do is analyze the frequencies present in the audio. Then, check for resonant frequencies across different axes of the shape (basically compare wavelength and lengths on the shape), then generate a map showing the resonances (brighter = louder), then layer as many of these maps as you can, and in theory it should end up with a pattern like those cymatic plates.

I guess you could write a python script to do this.

However, my math is weak and I also don’t know python. But I also think a convincing fake is possible.

You could then use the final 2D image output as a displacement map for a mesh and make cool 3D shapes with it.

Thanks for the advice :slight_smile:

Hi CorsaiRally,

in order to get these patterns, you need to understand, what is causing them. In your case with Cymatics, they do not know.
They think, that the pattern is caused by the frequency of their plate, but that is wrong ! These patterns are actually the interference pattern of at least two or more frequencies. One frequency alone will get you NO pattern ! In Cymatics it is always the frequencies of water, the surrounding Air, the metal plate + the frequency they energize the plate with. So, in actuality, they have at least 6 waves
(Hydrogen, Oxygen, Nitrogen, the metal … and so forth).
If you look closely, you should notice, that these patterns are always a “Nesting” of the platonic solids inside each other. If you for example have water (CobeOcta in 3D or a Hexagon in 2D). You have to look at the 3D structure of whatever frequencies you want to interfere with. The name “Interference” already suggests, that there are at least two things. One thing alone can’t interfere.
You got two choices to simulate this.

  1. in 3D with the platonic solids, where each face is a particle system on its own. I would make each particle system also magnetic, so the particles stay close to the face
  2. in 2D, in this case you need the cross section of the platonic solid (for example CubeOcta is Hex) Dodeca and Icosa are Pentagonal in 2D. If you do it in 2D, you need each edge emit a particle system.
    Should be fairly simple, and let me know, if you need help. I may have some time on the weekend and send you a blend file with a start.
    Kemmler is correct, the frequency interference goes through the metal plate. That is the reason in Cymatics, that the particles gather at specific points on the plate. The frequency goes through, the particle can’t !
    Hope that helps.

I have programmed a cymatics emulator some years ago for water. It’s only a few lines to write an emulator which is nearly the same as real life cymatics. here is a version using salt grains with square symmetry waves… Essentially you need a bunch of concentric wave generators on a 2d plane, added together and disposed in symmetrical and artistic distributions, for the simples cymatics emulator. example:

Hi There - I’m currently pursuing a similar project with a volumetric output - wonder if you ever had any success with this? ? regards J

Hi, I just started working on a project involving Blender Cymatics and everything is pointing to this post. I am interested to know if you have found any solutions since the last response on this thread almost three years ago. If you have, I’d love to learn, but if you haven’t, I’ve found a realistic and simple Cymatics emulator here:

Thanks in advance!