Zornov

Docs3D and animationZornov 0.1.2

Shapes from mathematics

Make 3D models from mathematics in Zornov: gyroid lattices, Mandelbulb and Menger fractals, knots, shells, terrain, L-system plants, attractors and your own formulas.

Zornov can build 3D models straight from mathematics. Start from one of the named shapes below and change its settings, or write a formula of your own.

Make a shape

You make these shapes by asking the AI editor, or an AI assistant connected to Zornov. Name the shape, its settings and how it should look:

  • "Add a gold gyroid lattice, three cells across, metallic."
  • "A Mandelbulb, power 8, drawn directly so I can fly the camera into it."
  • "A Menger sponge with 4 iterations, white stone."
  • "A trefoil knot in blue glass, turning slowly."
  • "A pine tree grown as an L-system, 6 iterations."

The result is a real 3D model on its own lane. Colour, metal, roughness and glow work as on any model; you can light it, move the camera round it, sculpt it, give it materials and export it (see Scenes and models). Solids come out closed, with normals and texture coordinates.

Two settings apply to every shape: the size, and a detail level from 1 to 6.

Lattices and minimal surfaces

Repeating structures: good for jewellery, architecture, 3D-printed infill and sci-fi surfaces. Each takes cells (how many repeats across), thickness (the sheet), and solid (0 for the sheet, 1 for one of the two solid networks).

NameWhat it is
gyroidSchoen's gyroid: the classic smooth, twisting lattice
schwarz_pSchwarz's primitive surface: rounded cubic cells
diamondSchwarz's diamond surface: a tetrahedral lattice
neoviusNeovius's surface: chunky cells joined by tubes
lidinoidA twisting, coral-like lattice
strut_latticeA cubic scaffold of round struts (settings: cells, width)
foamVoronoi foam: the walls between random cells, as in a sponge or bone (settings: cells, width, seed)

To shape a lattice, the AI editor can melt it into, carve it from or cut it by another form: "A sphere filled with a gyroid lattice."

Solids and fractals

NameWhat it isSettings
blobA ball lumped by noise, slowly churning when it has speedradius, amount, frequency, speed, seed
rockA craggy boulderradius, amount, frequency, seed
ripple_sphereA ball with standing waves over itradius, waves, amount, speed
metaballsFour soft balls orbiting and merging like mercurysize, speed, threshold
superquadricFrom a ball (p 2) to a soft cube (p 4) to a spiky star (p under 1)p, radius
heartTaubin's heart surface
mandelbulbThe Mandelbulb fractal (try power 3 to 12)power, iterations
mandelboxThe Mandelbox fractal: folded, boxy, architecturalscale, iterations
mengerThe Menger sponge: a cube with ever smaller square tunnelsiterations (1 to 7)
sierpinskiThe Sierpinski tetrahedroniterations

Parametric surfaces

Surfaces traced out by two numbers, u and v. Any of them can be given a thickness, and a cut pattern that punches holes through it (stripes, grids, lace).

NameWhat it isSettings
torusA ringmajor, minor
sphereA ball by latitude and longitude
swirl_torusA ring that knots round itselfa, turns
mobiusA Möbius strip: one side, one edgewidth, twists
kleinA Klein bottle: a closed surface with no insidea
seashellA spiral shellturns
nautilusA chambered spiral that widens each turnturns, growth, open
hornA curling horn, thin at its tipcurl
vaseA vase turned on a lathe, its outline wavingwaves, bulge, tall
diniDini's surface: a spiralling trumpeta, b, turns
enneperEnneper's surface: a saddle that folds over itselfsize
helicoidA spiral ramp, the surface of a screwturns, pitch
catenoidThe soap film between two ringsc, span
supershapeGielis's supershape: stars, flowers, shells and crystalsm, n1, n2, n3, m2, k1, k2, k3
boyBoy's surface: three lobes round a point

Knots and tubes

A tube that follows a curve. Closed curves close up; open ones get caps.

NameWhat it isSettings
torus_knotGoes p times round the hole and q times through it (2 and 3 make a trefoil)p, q, major, minor
trefoilThe trefoil knot
figure_eight_knotThe figure-eight knot
lissajous_knotA Lissajous knota, b, c, phase
helixA coil springturns, pitch
spiralA flat spiral coilturns

Height fields

A closed block of ground whose top follows a formula.

NameWhat it isSettings
wavesCrossing sine waves, moving when they have speedfrequency, amount, speed
ripplesRings spreading from the middle, like a drop in a pondfrequency, amount, speed
dunesWind-blown dunes with ripplesamount, seed
terrainHills and valleys of fractal noiseamount, frequency, roughness, seed
saddleA saddleamount
egg_crateBumps and dipscells, amount
sincThe sombrerofrequency, amount

Plants, seeds and attractors

L-system plants grow by rewriting rules, branch by branch: tree (in 3D, with leaves), bush, plant, fern, weed (random) and pine. Settings: iterations, angle, width, taper, shrink, droop, seed, sides, leaves and leaf colour. You can also give your own axiom and rules.

Phyllotaxis places seeds at the golden angle (137.508°), the way a sunflower does. Shapes: disc (a sunflower head), ball, cone (a pine cone) and dome (a cactus). Settings: count, angle, seed size, core, seed colour and core colour.

Strange attractors follow a set of equations step by step and draw the path as a tube: lorenz (the butterfly), rossler, aizawa, thomas, halvorsen and chen. Settings include the start point, the step size, the number of steps and the tube radius. You can also give your own three equations.

Write your own formula

When no named shape fits, describe a formula. Each kind reads different letters:

KindA formula ofGives
Solidx, y, z (and t for time)A solid wherever the formula is 0 or less
Surfaceu, v (and t)The point [x, y, z] for each u and v
Tubeu (and t)The curve the tube follows
Heightx, y (and t)The height of the ground

Formulas use + - * / ^, comparisons and c ? a : b, named steps (r2 = x*x + y*y;), and functions such as sin, cos, atan2, sqrt, abs, min, max, clamp, smoothstep, mix, fract, mod and noise. There are also shape functions: sphere, box, torus, cylinder, smin and smax for smooth joins, gyroid, schwarz_p, schwarz_d, neovius, lidinoid, noise2, noise3, fbm, voronoi, voronoi_edge, mandelbulb, mandelbox, menger, sierpinski and superformula.

For example, a ball whose surface ripples round its middle as time runs:

sphere(x, y, z, 0.6 + 0.08 * sin(6 * atan2(y, x) + 3 * t))

In formulas, x points right, y points away from you and z points up, as in a maths textbook.

Shapes that move

A shape whose formula uses t changes as the clip plays: waves roll, blobs churn, metaballs merge. A shape can also morph into another over a stretch of time ("a torus that turns into a Klein bottle over 3 seconds"). Meshed shapes that move are worked out frame by frame ahead of time, up to 240 frames, and play back smoothly.

Meshed or traced directly

By default a solid or fractal is turned into a mesh of triangles. That is what materials, textures, rigs, physics, booleans, sculpting and export need.

A solid or fractal can instead be drawn directly from its formula: every pixel is traced through the shape on the graphics card (or on the processor when there is no graphics card), so a Mandelbulb or a gyroid keeps its exact detail however close the camera comes, and a formula with t moves live. It is lit, shadowed and fogged with the rest of the scene.

What a directly drawn shape can't do: take a texture. For physics, rigs, booleans, mesh edits, export and path-traced renders it uses a coarse mesh made alongside it. You can ask the AI editor to switch a shape either way at any time.

Surfaces, tubes, height fields, plants, seeds and attractors are always meshes.

Bend, twist and warp any model

These work on any model, made from mathematics or not:

  • Twist, bend and taper along an axis.
  • Warp: move every point by a formula or by smooth noise.
  • Repeat: copies in a grid or a ring.

Ask the AI editor ("twist it 180 degrees round its height, then taper the top to half"), or add Bend, Twist, Taper, Wave or Array from Add modifier in the Inspector.

Motion and flat curves from mathematics

The AI editor can also move any clip along a curve: a Lissajous figure, a rose, or the path of a Lorenz attractor in 3D, turning to face the way it goes. It can drive any setting with a formula of time, such as a turn of 360 degrees every 4 seconds with a small wobble.

For flat shape layers, it can draw curves such as roses, Lissajous figures, spirals, spirographs, cardioids, hearts, superformula shapes, L-system curves (Koch, dragon, Hilbert, Sierpinski, Gosper) and Fourier epicycles that trace a drawing with spinning circles. Their settings animate, so they morph as they play.

Something wrong or missing on this page? Tell us on GitHub.