Live demo

Transition between two fields

One field turns into another along the shortest path on the latent sphere. Each of the two fields is encoded as a single embedding, the embedding moves along the great circle from the first to the second, and every step is decoded, so you can scroll from one field to the other.

Checking the server…
Inputs start A, end B: a preset, your own image or a painted field
The transition between the two inputs appears here; scroll over it to move along.
How it works

Walking the great circle between two embeddings

Each field is one embedding on the latent sphere. The transition follows the great circle between the two (a straight blend would cut through the sphere), its length blended linearly, while the value frame moves linearly in its stored units, the offset linearly and the scale geometrically.
1

One embedding each

Both fields are encoded on the same pixel grid as a single partition, so each becomes one embedding ζm on the hypersphere and one value frame (an offset and a scale).

2

The great circle

The embedding moves from ζmA to ζmB along the great circle through both (spherical linear interpolation in the fraction τ), with its length blended linearly.

3

The value frame

The static features move linearly in their stored units: the value offset linearly, and the value scale geometrically, since it is stored as a logarithm.

4

Decode every step

The embedding at every evenly spaced fraction τ from 0 to 1 is decoded on the grid, from the first field to the second.

A single embedding holds only the lowest frequencies of a field, so the presets are fields one partition represents accurately: long waves, rings, the interference of two sources, and a window of a patchy flow.