I’ve been wanting to generate patterns that look like splashes. It’s tempting to simulate attractive particles flying through the air, and then see where they intersect the ground, but that’s more intensive than is necessary. Instead, I pretended to throw some metaballs at the ground:
Those look like splashes to me! To generate these required a few pieces: rotated and anisotropic metaballs of variable strength, a position distribution, and an angular distribution.
- The metaballs are parameterized with a pair of radii (determining the major and minor axes) and a tilt angle.
- For distribution of the metaballs, a two-dimensional normal distribution gives a good pattern of the splash: dense in the middle, but sparse on the outside.
- The droplets are angled to radiate from a random point on the image, plus a bit of angular noise. If this point is centered on the splash, it looks like the fluid hit the ground vertically. With an outside point, it looks like a glass of water was thrown to the side.
There are a bunch of options here, such as: the number of metaballs, the particular equation of the metaball, the standard deviation of the splash side, the anisotropy factor of the droplets, and more.