Skip to content

Vibrations#342

Merged
bobnik merged 5 commits intomasterfrom
feature/chladni
Mar 20, 2026
Merged

Vibrations#342
bobnik merged 5 commits intomasterfrom
feature/chladni

Conversation

@bobnik
Copy link
Copy Markdown
Collaborator

@bobnik bobnik commented Jan 23, 2026

Chladni Figure ("Vibration") Shape

Adds a new shape that generates Chladni figure patterns - the nodal line patterns formed when vibrating plates are covered with sand. Sand collects along lines where amplitude is zero, creating symmetric geometric patterns.

Three methods for generating patterns:

Method Description
Interference Classic two-mode superposition with 13 combination modes (add, subtract, beat, grid, rings, etc.)
Harmonic Multi-mode sum with decay weighting for complex organic patterns
Excitation Modal response to initial displacement (our own creation; produces some cool patterns)

See README.md for more info.

Key Features

  • Configurable contour levels (1-5)
  • Boundary conditions: free (cos) vs fixed (sin)
  • 13 superposition modes for interference method
  • Rectangular and circular geometries
  • Complexity/decay controls for harmonic method
  • Multiple excitation types: dome, mosaic, cell

The combinations are extremely varied - play around with various options to see how the pattern changes.

image image image image image

@jeffeb3
Copy link
Copy Markdown
Owner

jeffeb3 commented Mar 18, 2026

This works well. Pretty interesting shapes, for sure.

If I choose the interference pattern, it disappears when M=N. I feel like we hit that in another pattern. Did we just let it go? Or did we find a way to restrict that case in the inputs?

Either way, this is good to merge.

@bobnik
Copy link
Copy Markdown
Collaborator Author

bobnik commented Mar 20, 2026

If I choose the interference pattern, it disappears when M=N. I feel like we hit that in another pattern. Did we just let it go? Or did we find a way to restrict that case in the inputs?
Fixed. Will merge.

@bobnik bobnik merged commit 7121753 into master Mar 20, 2026
2 checks passed
@bobnik bobnik deleted the feature/chladni branch March 20, 2026 20:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants