Splashery

Playground
Splat Field, a still.

Lab · Built from a recipe

Splat Field

E♭5 on the minor comb. Its drum rings at 609.9 Hz.

Turn it in the PlaygroundTap the picture to strike it.

Hundreds of thousands of splats (the count depends on your device and the Detail setting), and the graphics chip works out where every one of them is, and its color, again every frame.

Shelf
Lab
Kind
Built from a recipe
Sound
Yes
Licenses
Own work (made in the page)

Its note

Splashery stretches a drumhead over this Splash's outline, twelve inches across, and finds the ways it can ring. Its lowest is 609.9 Hz, 35 cents flat of E♭5. The next fifteen are its overtones, and each one draws its own figure: sand gathers on the lines that stay still.

The sixteen ways Splat Field's drum can ring, lowest first.
  1. 1610 Hz
  2. 2857 Hz
  3. 31055 Hz
  4. 41118 Hz
  5. 51254 Hz
  6. 61278 Hz
  7. 71322 Hz
  8. 81393 Hz
  9. 91454 Hz
  10. 101472 Hz
  11. 111519 Hz
  12. 121578 Hz
  13. 131597 Hz
  14. 141668 Hz
  15. 151693 Hz
  16. 161747 Hz

How to play

Tap to send a pulse through it; tap again for another. Pick a Field in the Splash tab.

Its controls

ControlKindRangeStart
Send a pulseTap
PulseButton
FieldList3 choicesGalaxy

About it

Hundreds of thousands of splats (the count depends on your device and the Detail setting), and the graphics chip works out where every one of them is, and its color, again every frame. Each splat only knows its own two numbers, u and v; a small program turns them and the time into a place. That is why so many splats can move smoothly at once.

The galaxy's stars each follow an oval orbit, turned a little more the farther out it is, so the ovals crowd into two spiral arms that stay while every star keeps moving. The ocean is four waves added together, each splat tilted to the water's slope, and the knot is a flow along a knotted tube. Tap to send a bright ring out through the galaxy, drop a stone in the sea where you tap, or push the flow once more around the knot. Each tap adds its own: tap the sea in a few places and the rings cross.

Details

Splats
Opens at 200,000 at Mid Detail, 89,100 at Low, and up to 200,000 at Max

Is it right?

The ocean and knot follow actual analytic coordinate formulas. The galaxy is prescribed orbital art and the taps add visual pulses. These fields demonstrate many parallel splat calculations, rather than validated galaxy or ocean dynamics.

  1. Correct

    The ocean adds four wave displacements.1

    An independent four-wave formula matches 100 sampled positions to 12 decimal places, including the slowed time and horizontal scale.

  2. Correct

    The knot is a periodic flow around a knotted tube.2

    Its centerline winds twice around one direction and three times around the other. Sampled positions repeat after 1/0.03 time units.

  3. Simplified

    The galaxy is an illustrative field rather than an astronomical simulation.3

    Its coordinates use prescribed ellipses, rotation, and a small bulge. No masses or gravitational forces are integrated.

  4. Simplified

    GPU programs calculate field coordinates from u, v, and time.1

    The pack supplies both shader languages and per-splat parameters; the CPU coordinate functions are checked independently.

  1. 1Effective Water Simulation from Physical Models, Mark Finch, GPU Gems, NVIDIA
  2. 2Torus Knot, Eric Weisstein, Wolfram MathWorld
  3. 3Ellipse, Eric Weisstein, Wolfram MathWorld
Simplified
The galaxy follows prescribed rotated ellipses and a small bulge, without gravity or interactions. Four wave formulas animate the ocean with slowed time and adjusted horizontal displacement. Tap ripples are added visual pulses. Smooth performance and particle count depend on the device and settings.

Sources and credits

Made in Splashery. Its code is MIT.

Share it

This link opens it in the Playground. To put it on your own page, add the element and one script tag. Every option.

https://splashery.app/play/?toy=splat-field<script type="module" src="https://splashery.app/play/src/element.js"></script> <splashery-toy toy="splat-field"></splashery-toy>

Nearby on the strip