Chladni Plates
Create text-free visual artifacts showing standing-wave nodal patterns on thin plates. Always run the bundled script; do not write a new simulator unless the user explicitly asks to modify the skill.
Required Workflow
- Create or use an output directory, usually
skill_output_<timestamp>_chladni-plates. - Choose a preset, palette, shape, and optional custom modes.
- Run
scripts/render_chladni_plate.py. - Verify artifacts with
find. - Final answer must list exact artifact paths and report preset, shape, modes,
palette, frames, and FPS from
parameters.json.
Default command:
python3 skills/chladni-plates/scripts/render_chladni_plate.py \
--out skill_output_<timestamp>_chladni-plates \
--preset classic-square \
--palette blue-sand \
--size 1080 \
--frames 48 \
--fps 18
Presets
Use one of these values for --preset:
classic-square: crossed square-plate nodal curves; best default.cathedral-window: high-order square interference with bright symmetry.bronze-drum: circular plate with radial and angular disk modes.radial-bloom: flower-like circular pattern for social visuals.long-bridge: rectangular plate with long-span standing waves.quiet-glass: subtle circular glass-like pattern for clean slides.custom: use explicit--shape,--modes, and other flags.
Palettes
Use one of these values for --palette:
blue-sand: dark blue plate with pale sand-like nodal ridges.neon-noir: high-contrast cyan/magenta resonance field.copper-glass: bronze and glass tones for classic demonstrations.emerald-gold: green-gold science-art palette.ice-fire: blue/orange contrast for strong motion.monochrome: clean grayscale for slides.
Parameters
--shape:square,rectangle, orcircle.--boundary:free,fixed, ormixed. Usefreeunless the user specifies clamped/fixed edges.--modes: semicolon-separated mode listm,n:amplitude:phase.- Square/rectangle:
m,nare x/y mode numbers. - Circle:
m,nare angular order and radial index. - Example:
--modes "4,7:1.0:0;7,4:-0.9:0.4;3,10:0.34:1.1".
- Square/rectangle:
--aspect: width/height forrectangle.--size: output pixel height. Use1080for normal runs,720for faster previews,1400or higher for final stills.--frames: GIF frame count. Use36-72for normal animations.--fps: GIF frame rate. Use16-24.--node-width: nodal ridge thickness. Smaller values create sharper sand lines.--grain: deterministic sand/film grain intensity.--drive: temporal drive strength for animation.--no-gif: skip GIF assembly when only a still image is needed.
Images and GIFs intentionally contain no rendered text. Titles and explanations
belong in caption.txt, parameters.json, and README.md.
Recipes
Classic square plate:
python3 skills/chladni-plates/scripts/render_chladni_plate.py \
--out skill_output_<timestamp>_chladni-plates \
--preset classic-square \
--palette blue-sand \
--size 1080 \
--frames 48 \
--fps 18
Circular bronze resonance:
python3 skills/chladni-plates/scripts/render_chladni_plate.py \
--out skill_output_<timestamp>_chladni-plates \
--preset bronze-drum \
--palette copper-glass \
--size 1080 \
--frames 60 \
--fps 20
High-order square pattern:
python3 skills/chladni-plates/scripts/render_chladni_plate.py \
--out skill_output_<timestamp>_chladni-plates \
--preset cathedral-window \
--palette neon-noir \
--size 1200 \
--frames 60 \
--fps 20 \
--node-width 0.045
Custom rectangular plate:
python3 skills/chladni-plates/scripts/render_chladni_plate.py \
--out skill_output_<timestamp>_chladni-plates \
--preset custom \
--shape rectangle \
--aspect 1.7 \
--boundary free \
--modes "2,5:1.0:0;6,3:0.72:0.5;9,2:0.30:1.1" \
--palette ice-fire \
--size 900 \
--frames 48 \
--fps 18
Outputs
The script writes:
chladni_pattern.png: high-resolution text-free static nodal pattern.chladni_preview.png: first-frame preview PNG.chladni_animation.gif: animated vibrating-plate GIF unless--no-gifis used.frames/frame_*.png: individual animation frames.field_data.npz: final normalized field, mask, grid, and modes.parameters.json: exact run parameters and artifact paths.caption.txt: short plain-language explanation.README.md: run summary.
Do not claim success unless find lists the requested artifacts. For a normal
GIF run, verify chladni_pattern.png, chladni_preview.png,
chladni_animation.gif, frames/, field_data.npz, parameters.json,
caption.txt, and README.md.