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).
| Name | What it is |
|---|---|
gyroid | Schoen's gyroid: the classic smooth, twisting lattice |
schwarz_p | Schwarz's primitive surface: rounded cubic cells |
diamond | Schwarz's diamond surface: a tetrahedral lattice |
neovius | Neovius's surface: chunky cells joined by tubes |
lidinoid | A twisting, coral-like lattice |
strut_lattice | A cubic scaffold of round struts (settings: cells, width) |
foam | Voronoi 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
| Name | What it is | Settings |
|---|---|---|
blob | A ball lumped by noise, slowly churning when it has speed | radius, amount, frequency, speed, seed |
rock | A craggy boulder | radius, amount, frequency, seed |
ripple_sphere | A ball with standing waves over it | radius, waves, amount, speed |
metaballs | Four soft balls orbiting and merging like mercury | size, speed, threshold |
superquadric | From a ball (p 2) to a soft cube (p 4) to a spiky star (p under 1) | p, radius |
heart | Taubin's heart surface | |
mandelbulb | The Mandelbulb fractal (try power 3 to 12) | power, iterations |
mandelbox | The Mandelbox fractal: folded, boxy, architectural | scale, iterations |
menger | The Menger sponge: a cube with ever smaller square tunnels | iterations (1 to 7) |
sierpinski | The Sierpinski tetrahedron | iterations |
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).
| Name | What it is | Settings |
|---|---|---|
torus | A ring | major, minor |
sphere | A ball by latitude and longitude | |
swirl_torus | A ring that knots round itself | a, turns |
mobius | A Möbius strip: one side, one edge | width, twists |
klein | A Klein bottle: a closed surface with no inside | a |
seashell | A spiral shell | turns |
nautilus | A chambered spiral that widens each turn | turns, growth, open |
horn | A curling horn, thin at its tip | curl |
vase | A vase turned on a lathe, its outline waving | waves, bulge, tall |
dini | Dini's surface: a spiralling trumpet | a, b, turns |
enneper | Enneper's surface: a saddle that folds over itself | size |
helicoid | A spiral ramp, the surface of a screw | turns, pitch |
catenoid | The soap film between two rings | c, span |
supershape | Gielis's supershape: stars, flowers, shells and crystals | m, n1, n2, n3, m2, k1, k2, k3 |
boy | Boy's surface: three lobes round a point |
Knots and tubes
A tube that follows a curve. Closed curves close up; open ones get caps.
| Name | What it is | Settings |
|---|---|---|
torus_knot | Goes p times round the hole and q times through it (2 and 3 make a trefoil) | p, q, major, minor |
trefoil | The trefoil knot | |
figure_eight_knot | The figure-eight knot | |
lissajous_knot | A Lissajous knot | a, b, c, phase |
helix | A coil spring | turns, pitch |
spiral | A flat spiral coil | turns |
Height fields
A closed block of ground whose top follows a formula.
| Name | What it is | Settings |
|---|---|---|
waves | Crossing sine waves, moving when they have speed | frequency, amount, speed |
ripples | Rings spreading from the middle, like a drop in a pond | frequency, amount, speed |
dunes | Wind-blown dunes with ripples | amount, seed |
terrain | Hills and valleys of fractal noise | amount, frequency, roughness, seed |
saddle | A saddle | amount |
egg_crate | Bumps and dips | cells, amount |
sinc | The sombrero | frequency, 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:
| Kind | A formula of | Gives |
|---|---|---|
| Solid | x, y, z (and t for time) | A solid wherever the formula is 0 or less |
| Surface | u, v (and t) | The point [x, y, z] for each u and v |
| Tube | u (and t) | The curve the tube follows |
| Height | x, 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.
Related pages
Something wrong or missing on this page? Tell us on GitHub.
Zornov