# Op Art generator

Stripes, checks, rings and wedges, repeated edge to edge and bent until the flat surface seems to bulge, flow or spin. Export a vector file, a print-size PNG or a seamless loop.

Open the generator: https://morph.ogeny.app/op-art/

## Design choices

- **Optical pattern** (`form.op-pattern`): Repeated lines and modules that vibrate or warp perception. Set by “Optical pattern”. https://stylogeny.com/design-choices/optical-pattern/
- **Repetition & rhythm** (`space.repetition`): Repeated units create a visual cadence. Set by “Repetition & rhythm”. https://stylogeny.com/design-choices/repetition-and-rhythm/
- **Illusion of depth** (`space.depth-illusion`): Perspective, overlap, shadow or parallax create a z-axis. Set by “Illusion of depth”. https://stylogeny.com/design-choices/illusion-of-depth/
- **Monochrome** (`color.monochrome`): A single hue, or black and white. “Colour”: Black and white. https://stylogeny.com/design-choices/monochrome/
- **Complementary clash** (`color.complementary-clash`): Vibrating opposites placed edge to edge. “Colour”: Equal-value clash. https://stylogeny.com/design-choices/complementary-clash/
- **Limited spot colours** (`color.limited-spot`): Two or three flat inks. “Colour”: Several inks. https://stylogeny.com/design-choices/limited-spot-colours/
- **All-over field** (`layout.all-over`): No focal point; the whole surface is filled evenly, like a textile. Always. https://stylogeny.com/design-choices/all-over-field/
- **Non-representational** (`form.abstract`): Pure form with no depicted subject. Always. https://stylogeny.com/design-choices/non-representational/
- **Flat fields** (`color.flat-fields`): Unmodulated areas of colour. Always. https://stylogeny.com/design-choices/flat-fields/
- **Ornament-free** (`ornament.none`): Decoration rejected; form follows function. Always. https://stylogeny.com/design-choices/ornament-free/

## How it works

- One module repeated edge to edge, distorted by a smooth field so the flat surface bulges, flows or turns.
- Maximum value contrast, or two hues of equal value so the edges vibrate.
- Counterchange: across a seam the stripes turn a quarter or the pattern reverses, so the flat field seems to fold.

It never does:

- No compressed checkerboard square, and no single centred sphere as a default: lenses are placed by the seed and kept off the centre.
- Seams follow the surface: their outlines bend with the same lenses as the pattern, so the fold reads as one illusion.
- Animation moves the pattern at most one band per loop, so a stripe never flickers.

## Controls

- `pattern` Optical pattern (stripes | checks | tunnel | twist; default stripes): The module the field is built from.
- `count` Repetition & rhythm (6–90, default 34): How many modules across the field.
- `depth` Illusion of depth (0–1.2, default 0.55): How strongly the field swells or sinks.
- `lenses` Swellings (0–4, default 2): How many places the field bulges.
- `wave` Wave (0–1, default 0.3): How much the stripes ripple, the checks turn or the wedges spiral.
- `progression` Progression (0–1, default 0.3): Modules narrowing step by step across the field.
- `angle` Angle (0–180, default 0)
- `seam` Seams (none | disc | square | squares | band | half; default none): Regions where the stripes turn a quarter or the checks, rings and wedges reverse: counterchange.
- `colourway` Colour (mono | clash | inks; default mono)

## About Op Art Graphics

Op Art (optical art) took hold in the 1960s, when painters and graphic designers found they could make a flat surface move with nothing but a repeated mark and its spacing. The trick is contrast and rhythm: black against white, or two colours of the same lightness, in bands narrow enough that the eye cannot settle on an edge.

This generator works the way those pictures were built: one module, repeated edge to edge, then distorted by a field of lenses and waves. The lenses are placed by the variation number and kept off the centre, so you get a new surface each time rather than a copy of a famous painting.

Op Art Graphics in Stylogeny (1960–1975): https://stylogeny.com/styles/op-art/

## Recipe

```json
{
  "tool": "op-art",
  "v": 1,
  "seed": 3,
  "format": "portrait",
  "params": {
    "pattern": "stripes",
    "count": 34,
    "depth": 0.55,
    "lenses": 2,
    "wave": 0.2,
    "progression": 0.3,
    "angle": 0,
    "seam": "squares",
    "colourway": "mono"
  },
  "palette": "op-art"
}
```
