Documentation Algorithmic design

Algorithmic design

3D line art, color and text

beginner advanced

Last updated Sep 24, 2026

The 3D examples build a small 3D scene and draw it onto the artboard as flat vector shapes. The result is ordinary paths you can recolor, edit and print; nothing on the page is 3D afterwards. Open them from Menu ▸ Algorithmic design (the lower part of the menu) or from the Examples tab of the window.

3D line art

Black on white, with the lines you could not see removed. What remains is a handful of clean paths, ready for print or a pen plotter.

Example What it draws Try
Wireframe terrain A noise landscape in perspective. Turn Yaw and Pitch to walk around it; more Relief for mountains.
Globe Latitude and longitude lines on a ball, with an orbit ring that passes behind it. Tilt and Turn, or switch the orbit off.
Torus knot A tube that winds around and through a ring, shaded with pen hatching. Try Turns around 3 and Turns through 5; a finer Hatch spacing for darker shadows.
Wave surface Lines across a rippling sheet, seen in perspective. More Waves and a lower Pitch for a dramatic horizon.
Hatched solids A cube, a ball, a cone and a cylinder, shaded like an engraving. Move the Light direction and watch the hatching follow.

3D in color

Faces are shaded by a light, in a few steps of each color, so the result prints as clean flat areas instead of fine gradients.

Example What it draws
Low-poly gem A faceted, noise-bent ball lit through a three-color ramp. Switch on Facet lines for a crystal look.
Isometric city Blocks of noise-driven height, three tones per color. When the document has swatches, the city uses them.
Tumbling blocks The classic pattern of cubes that tile the page as hexagons. Shuffle the colors per cube makes them tumble.
Voxel landscape An island of stacked cubes colored by height. Pick a Theme and raise the Sea level.
Twisted ribbons Bands that wave and twist in space between two colors, on a dark background.
Block letters Your own words in a built-in pixel font, as cubes or as one solid block. Type in the Text field.

3D from the selection

These work on what you select, most often a text frame. Popcorn reads the outlines of the letters in whatever font you use, so the effect follows your typography exactly.

Example What it does
Extrude in 3D Turns the selected text or shapes into solid 3D objects in place. The front keeps the object's color; set the Side color, Depth and camera.
Retro stacked text Stacks copies of the selection into a colorful block, 80s style. Choose gradient, solid or stripes.
Vanishing-point extrusion Draws the selection back toward one point, like 90s 3D type. Type coordinates for the Vanishing point in Controls.
Ridgelines over text Lines across a landscape that rises where your text is. Keep Softness low for crisp letters.
Revolve a profile Spins a selected path around an upright axis, like a pot on a wheel. Draw half the outline of a vase or bottle, then try shaded, lines and hatched.

Hide the original is on by default, so the effect replaces the look of your text. The text itself is not deleted: switch the option off, or show the text again in the Layers panel. The effect does not follow later edits to the text; run the script again to update it.

Tips

  • Line art stays light. In the line modes, Popcorn removes the hidden lines itself. A terrain of thousands of faces becomes one path, so it applies easily and plots cleanly.
  • Colors print flat. Shading uses a few steps of each color (steps, 16 by default). Fewer steps give a bolder, poster-like look. In a CMYK document the shades are CMYK too.
  • Perspective or not. Perspective looks natural. Orthographic and isometric keep parallel lines parallel, which suits patterns and technical drawings.
  • Keep the result in place. Scripts on the selection turn the camera around the middle of the selection, so the 3D version lands where the original was.

Writing your own 3D scene

A scene holds objects, a camera and a light. World coordinates are the artboard's pixels (x to the right, y down), plus z toward you.

const s = scene3d({ camera: { yaw: 30, pitch: 20 }, light: { yaw: -40, pitch: 50 } });
s.box(artboard.center, 200).material({ fill: '#e76f51' });
s.sphere(vec3(700, 300, 0), 90).material({ fill: '#2a9d8f' });
s.render();
  • Objects: box, sphere, icosphere, cylinder, cone, torus, surface (any function of u and v), heightfield (a height for every x and z), extrude (a selected object, blockText() or your own rings), revolve (a profile around an axis) and polyline (3D lines).
  • Each object can .rotate(x, y, z), .move(dx, dy, dz), .scale(f) and take a .material({...}): fill, stroke, ramp (a list of colors that the light runs through), shade ('light', 'flat', 'depth', 'height', 'normal' or your own function), steps, hatch, and cap (a separate material for the front and back of an extrusion).
  • render() takes a mode: 'solid' fills, 'hidden' visible edges only, 'hatch' visible edges plus hatching, or 'wire' every edge. fit: 0.8 scales the drawing to 80 % of the artboard.

The Code tab lists every option, and Ask AI knows about scenes too: ask for "a 3D spiral staircase in hidden-line style" or "my selected logo extruded in gold".

Limits

A scene holds at most 60,000 faces. The outline of a selected text frame is simplified to 8,000 points, which is plenty for a headline; very long texts get coarser curves. Faces are flat and lit from one direction: there are no reflections, soft shadows or textures.