LeTissierCreative Studios
Cue 08The manualVizz 1.0

Docs / Vizz

Version1.0 · latest

Vizz 1.0

Clouds, generators and simulations

Every cloud Vizz can take the shape of, from a scan or a word to 66 equations and 19 simulations, with their settings.

A cloud is a set of points the particles gather onto. With /shape/mode on cloud, the field takes the shape of whichever cloud is on. Changing cloud is what a scene change does: the particles fly from one shape to the next.

The field crossing from one cloud to the next

Cloud slots

Vizz holds nine clouds at once. The clouds section of the panel lists them. Over OSC, /cloud/a picks one by number.

SlotHolds
0The Lorenz attractor, built in.
1The Aizawa attractor, built in.
2 to 7Clouds you load, generate or type.
7Also the live slot, for a stream or a simulation.
8Video in.

Loading more than six

The six loadable slots fill in turn. The seventh cloud you load replaces the oldest, and so on round. Vizz remembers what's in each slot and loads it again at the next launch.

Where clouds come from

  • A file: drop a .ply, .xyz, .pts, .csv, .png, .jpg or .jpeg on the window. See Drop a file.
  • A word: type it and press make cloud. See type a word, make cloud.
  • An equation: generate… in the panel, or --cloud gen:NAME when starting Vizz. See Generators below.
  • A stream: another app sending point clouds over the network. See Live streams.
  • A simulation: simulate… in the panel, or --live-cloud sim:NAME. See Simulations.
  • Video: NDI, Syphon or a camera. See Video in.

Generators

A generator is an equation that Vizz turns into a cloud. It's made on your machine when you pick it, so every one is exact and there's nothing to download. The guide is Make a cloud from an equation.

Each generator has a spec, the name you'd type after --cloud. Where it has settings, add them after a ? as key=value, separated by ;, for example gen:torus-knot?p=2;q=5. The key is the setting's name, or the name in brackets where the table gives one. In the panel, picking one with settings opens a row of them with make. A seed setting has a roll button that picks a new one, and each seed gives a different result.

Flows

Every one of the flows, drawn by Vizz and labelled with its spec
NameSpecWhat it isSettings
Thomasgen:thomasThomas' cyclically symmetric attractor — three sines; a knot of ribbons round the diagonal—
Halvorsengen:halvorsenHalvorsen's attractor — three lobes, cyclically symmetric; sheets folding into each other—
Dadrasgen:dadrasDadras' tri-scroll — three rolled sheets joined by a spine—
Rösslergen:rosslerRössler's funnel — a flat spiral that lifts and folds back on itself—
Four-winggen:four-wingThe four-wing attractor — four lobes off a saddle—
Chengen:chenChen's system — Lorenz's cousin, wider and more tangled—
Sprott Bgen:sprott-bSprott's case B — two quadratic terms, and chaos—
Nosé–Hoovergen:nose-hooverThe Nosé–Hoover oscillator — a thermostatted particle wandering a sea of tori and chaos—
Arneodogen:arneodoArneodo's attractor — a jerk system with one cubic term—
Burke–Shawgen:burke-shawBurke–Shaw — two scrolls with the symmetry of a propeller—
Chuagen:chuaChua's circuit — the double scroll, from a real circuit with a nonlinear diode—
Hadleygen:hadleyThe Hadley circulation — Lorenz's 1984 atmosphere in three variables—
Rucklidgegen:rucklidgeRucklidge's convection model — a tall, folded ribbon—
three-scrollgen:three-scrollThe three-scroll unified system — three scrolls in one fast flow—
Rabinovich–Fabrikantgen:rabinovichRabinovich–Fabrikant — leaves and ribbons, from plasma physics—
Aizawagen:aizawaAizawa's attractor — a rotating sphere with a spindle driven through its poles—
Newton–Leipnikgen:newton-leipnikNewton–Leipnik — a tumbling rigid body, and two attractors in one system—
Sakaryagen:sakaryaThe Sakarya system — two lobes crossing at an angle, like a bow tie in wire—
Rikitakegen:rikitakeThe Rikitake dynamo — why the Earth's magnetic field reverses, and never on schedule—
Shimizu–Moriokagen:shimizu-moriokaShimizu–Morioka — the butterfly's simplest relative, two wings and one quadratic term—
financegen:financeThe finance system — interest rate, investment demand and price index, refusing to settle—
Coulletgen:coulletCoullet's jerk system — one variable's third derivative, with a cubic pull—
Genesio–Tesigen:genesio-tesiGenesio–Tesi — the other classic jerk system, square rather than cubic—
Lorenz-96gen:lorenz96Lorenz's toy atmosphere: a ring of variables advecting each other; the test bed every weather forecasting scheme meets firstvariables (size) 4 to 40, default 5; forcing 0 to 20, default 8
Duffinggen:duffingA mass in a double well, shaken — drawn on the cylinder of the forcing phase, so once round the tube is one perioddrive 0 to 2, default 0.5

Maps

Every one of the maps, drawn by Vizz and labelled with its spec
NameSpecWhat it isSettings
Cliffordgen:cliffordPickover's Clifford map, lifted into depth by its own previous step—
de Jonggen:dejongThe Peter de Jong map of 1987, lifted the same way—
Hénongen:henonThe Hénon map — the first attractor anyone drew that was plainly a fractal—
Ikedagen:ikedaThe Ikeda map — light in a ring cavity, with a hook in the attractor nothing else here has—
standard mapgen:standardChirikov's standard map on its torus — islands that close, and one orbit that never doeskick (k) 0 to 4, default 0.971635
Gumowski–Miragen:gumowskiFrom a study of particle beams at CERN — moths and mandalas that change completely in the third decimal placeμ (mu) −1 to 1, default -0.801

Searched

Every one of the searched attractors, drawn by Vizz and labelled with its spec
NameSpecWhat it isSettings
quadraticgen:quadraticSprott's search: random quadratic maps until one is chaotic — a new attractor every rollseed (seed, roll), default 1
quadratic flowgen:quadratic-flowThe same search with an integrator inside: random quadratic flows until one is chaotic — smooth ribbons where the map gives dustseed (seed, roll), default 1

Surfaces

Every one of the surfaces, drawn by Vizz and labelled with its spec
NameSpecWhat it isSettings
supershapegen:supershapeGielis' superformula as a solid — a seven-fold flowerm 1 to 16, default 7; n1 0.1 to 10, default 2; n2 0.1 to 20, default 8; n3 0.1 to 20, default 4
harmonicgen:harmonicA sphere rippled by a spherical harmonicround 1 to 8, default 3; up 1 to 8, default 2
Hopfgen:hopfThe Hopf fibration — nested tori of linked circles, projected from the 3-sphere—
orbitalgen:orbitalA real spherical harmonic as a balloon — the shape a textbook draws for an atomic orbitall 0 to 8, default 3; m −8 to 8, default 2
Klein bottlegen:kleinThe figure-eight immersion — a surface with no inside, and the crossing that three dimensions force on itgirth 0.5 to 5, default 2
Boy's surfacegen:boyThe projective plane immersed without a boundary — three-fold symmetric, and thought impossible until 1901—
gyroidgen:gyroidA triply periodic minimal surface — two labyrinths that fill space and never touch; also Schwarz's P and Dkind (text), default gyroid; cells 1 to 6, default 1.5; level −1.5 to 1.5, default 0; wall (thickness) 0.01 to 0.4, default 0.07
Dinigen:diniA pseudosphere dragged along a helix — constant negative curvature, everywhere the sametwist 0 to 1, default 0.2
Ennepergen:enneperA minimal surface from 1864 that runs through itself twice, which is exactly the interesting part—

Curves

Every one of the curves, drawn by Vizz and labelled with its spec
NameSpecWhat it isSettings
Lissajousgen:lissajousA 3:4:7 Lissajous knot, as a tubea 1 to 9, default 3; b 1 to 9, default 4; c 1 to 12, default 7
torus knotgen:torus-knotA (3,7) torus knot — three times round, seven times throughp 1 to 9, default 3; q 1 to 12, default 7
Hilbert curvegen:hilbertOne unbroken line through every cell of a cube — the cloud crawls along a curve that fills spaceorder 1 to 5, default 3
spirographgen:spirographThe curve a pen traces through a hole in a wheel rolling inside another, given a slow rise so it coilswheel (R) 1 to 20, default 5; roller (r) 0.2 to 19, default 3; pen 0.1 to 20, default 5; rise (wave) 0 to 8, default 1
figure-eight knotgen:figure-eightThe only knot with four crossings, and the simplest one that is its own mirror image—

Fractals

Every one of the fractals, drawn by Vizz and labelled with its spec
NameSpecWhat it isSettings
Sierpinskigen:sierpinskiThe Sierpinski tetrahedron, by the chaos game—
Mengergen:mengerThe Menger sponge, by the chaos game—
Mandelbulbgen:mandelbulbThe power-eight Mandelbulb's surface, found by marching rays inward—
twisted gasketgen:kifsThe Sierpinski tetrahedron with a turn folded into every step — shells, spirals and lattices, one number widetwist (angle) −180 to 180, default 24; tilt −180 to 180, default 0
Mandelboxgen:mandelboxFold, invert, scale, add — where the Mandelbulb is organic, this is architecturescale −4 to 4, default 2
quaternion Juliagen:quaternionz ← z² + c in four dimensions, sliced back into threec real (cr) −2 to 2, default -0.2; c i (ci) −2 to 2, default 0.6; c j (cj) −2 to 2, default 0.2
Newtongen:newtonNewton's method for zⁿ = 1 as a relief — basins whose boundary touches every basin at onceroots (power) 2 to 8, default 3
Lyapunovgen:lyapunovThe Markus–Hess fractal — where the logistic map settles into a cycle, drawn as towers over the chaotic seapattern (sequence) (text), default AB
Mandelbrotgen:mandelbrotThe Mandelbrot set as a relief — the set a plateau, the escape time the country round it—
Juliagen:juliaA Julia set as a relief, c = −0.8 + 0.156ic real (cr) −2 to 2, default -0.8; c imaginary (ci) −2 to 2, default 0.156

Grown

Every one of the grown clouds, drawn by Vizz and labelled with its spec
NameSpecWhat it isSettings
plantgen:plantA plant grown by an L-system — five generations of branching, thick wood to thin twigsrule (text), default F[+&X][-^X]/F[\X]X; angle 5 to 60, default 25
ferngen:fernA fern by Lindenmayer's rewriting — fronds off a curling spine, rolling as they goangle 5 to 60, default 22
coralgen:coralA three-way branching coral — every tip splits into three, a third of a turn apartangle 5 to 60, default 30
treegen:treeA tree with a trunk — long wood below, short twigs above, branches off three sidesangle 5 to 60, default 20
aggregategen:dlaDiffusion-limited aggregation — particles that wander in and stick where they touch; soot, lightning and copper all do thisseed (seed, roll), default 1

Patterns

Every one of the patterns, drawn by Vizz and labelled with its spec
NameSpecWhat it isSettings
Chladnigen:chladniSand on a vibrating plate — points settle where the plate stands stilln 1 to 9, default 5; m 1 to 9, default 2
foamgen:voronoiVoronoi foam — the walls between cells scattered in a box, meeting three at an edge as soap films docells 4 to 64, default 24; seed (seed, roll), default 1
quasicrystalgen:quasicrystalSix plane waves on the five-fold axes of an icosahedron — a pattern that never repeats and is nowhere randomcells 1 to 8, default 3
phyllotaxisgen:phyllotaxisThe sunflower's own packing — one floret every 137.5°, the only angle that never lines upangle 1 to 359, default 137.50776; rise 0 to 3, default 0.6

Simulations

A simulation is a cloud that moves by itself. It runs in the live slot and reacts to the music: most of them are stirred by the loudness and kicked by the kick drum, as each description says. Start one from simulate… in the panel, or with --live-cloud sim:NAME. The simulation you ran last starts again at the next launch.

A still of each of the nineteen simulations, drawn by Vizz and labelled with its spec

Only life takes a setting: its rule, written as survive/born/states.

Simulated: grown

NameSpecWhat it isSettings
crystalsim:crystalReiter's snow crystal on a hexagonal lattice — plates, sectored plates and stellar dendrites, sorted by the vapour the mids and highs set; each flake grows out and the next one starts—

Simulated: fields

NameSpecWhat it isSettings
fluidsim:fluidStam's stable fluids — the Navier–Stokes equations on an endless sheet; the loudness stirs it, the kick bursts it, the snare spins it, the highs roughen it—
reactionsim:reactionGray–Scott reaction–diffusion — spots that grow, split and heal; the kick plants new ones—
windsim:windCurl noise — tracers in a divergence-free noise field, a fluid with no solve; the kick is a gust, the highs roughen it—
sandpilesim:sandGrains dropped and toppled — the model that named self-organised criticality, and a fractal nobody designed; the kick drops a load somewhere else—
spiralssim:spiralThe Belousov–Zhabotinsky reaction — rotating waves that annihilate where they meet, the same dynamics as a heartbeat; the kick seeds fresh defects—
smokesim:smokeThe same solver in three dimensions, with heat — a plume that rises, shears and rolls up; the kick is a blast, the snare a shove, the highs the roughness—
cyclicsim:cyclicStates in a ring, each waiting to be eaten by the next: noise organises itself into scroll waves that turn for ever, because a spiral's own wave comes back round to feed it—
lifesim:lifeA three-dimensional cellular automaton in the Pyroclastic rule — a lattice that boils, endlessly; the kick drops a seedrule (text), default 4-7/6-8/10

Simulated: many bodies

NameSpecWhat it isSettings
flocksim:flockReynolds' boids — four thousand of them drawing streaks; the loudness is their pace, the kick a predator, the snare a scatter—
slimesim:slimePhysarum: sixty-five thousand agents that leave a trail and follow the strongest one they can see — a transport network out of three rules and no plan; the kick starts a new front—
swarmalatorssim:swarmParticles that swarm and synchronise at once, each depending on the other — five states from two numbers; the loudness and the mids move between them—
clothsim:clothA sheet of sixty-five thousand particles hung from its top edge in an Arnold–Beltrami–Childress wind; the kick is a gust—
kuramotosim:kuramotoKuramoto's coupled oscillators on a torus — a loud passage locks them into a ribbon, quiet frees them; the kick scatters half—
liquidsim:liquidFour thousand particles of water in a tilting box — gravity swings round once a bar, so it pours corner to corner; the kick throws it at the ceiling—
orbitssim:orbitsFive hundred bodies pulling on each other round a heavy centre — the loudness is the clock, the kick a shockwave, the snare knocks the disc out of its plane—
pendulumsim:pendulumFour thousand double pendulums hung in a sheet from neighbouring angles — it swings as one surface, creases, then tears; the loudness is gravity and the kick hangs it again—
tanglesim:tangleOne long elastic rod loose in a wind, tying itself in knots — it cannot stretch and it cannot pass through itself, which is the difference between a tangle and a scribble—
vortexsim:vortexThe thin cores smoke rings are made of, moving each other by Biot–Savart — rings that catch the one in front and thread through it; the loudness is their circulation and the kick throws a new one in—

Live streams

Any app that sends point clouds over the network can feed the live slot. Vizz reads PLY frames, one after another, on a TCP connection.

A point cloud streamed from another app, arriving in the live slot

Listen for a sender

The default, listen://0.0.0.0:9848, waits for a sender to connect to this machine on port 9848. Press receive, then give the sender the address the panel shows under send to.

Connect to a sender

Type tcp://host:port and press receive when the other app waits to be connected to.

From the command line

--live-cloud takes the same addresses, a bare host:port, or the path of a .ply file that another app keeps rewriting. The stream is shown when its first frame arrives.