Home › Design Assets › Yacht Poster, Collage Written as a Formula

Yacht Poster, Collage Written as a Formula
Four real yachts run through the same algorithm — wherever the edge field spikes, the collage texture follows.
✍️ What's really in charge isn't what the yachts look like, it's the silhouette-preserving field Φ — wherever Div spikes, that's where the halftone dots burst. Swap one word in SYS1/SYS2 and torn-paper collage trades places with risograph halftone; the seed is locked to the subject's hash, so swapping subjects needs no parameter tuning.
📋 Prompt YAML Sectioned Style1444 characters
Apply the same treatment to four real-world yachts with genuinely unconventional designs, laid out across a 16:9 two-by-two grid. INPUT: $SUBJECT, optional [$MOVE1, $MOVE2, $SYS1, $SYS2] — fall back to an auto-seed when none are given.
Stage one, triggered only when movements or systems are missing:
IF not provided:
MOVES = random_choice(Poster_Movements, 2, seed=hash($SUBJECT))
SYS = random_choice(Graphic_Systems, 2, seed=hash($SUBJECT)+1)
IDENTITY = NAME_FROM(MOVES, SYS)
Derive a compositional field Φ whose job is holding onto the subject's outline and spatial layout.
Φ = preserve_silhouette( edge_map($SUBJECT) ) // how closely it tracks the source
F = ∇Φ // the type grid is laid along these flow lines
Curl = ∇×Φ // rotation sets the collage tear edges
Div = ∇·F // density becomes halftone / screenprint layers
Left-half poster render: movement 1 supplies the palette, movement 2 the texture and print logic. Graphic systems steer the execution — say SYS1 = "Torn Paper Collage" shifts F along tear vectors, while SYS2 = "Risograph Halftone" scatters stochastic dots once |Div| crosses the threshold. Typography tracks the F streamlines, its hierarchy set by Div's magnitude. Close with genuine print-shop artifacts — misregistration, paper grain, a hint of age-yellowing. Constraint: keep the outer contour locked to $SUBJECT at no less than 92% IoU.
Final render: 8K resolution, landscape orientation.






