Procedurally generated fake circuitry?

My team produces a ton of marketing imagery in which plausible-looking circuitry is part of the creative. Here are some examples of the kind of look & feel I’m describing:

Right now we’re forced to draw these little circuit paths by hand every single time in Illustrator, though I’m doing it more in Rhino these days because it’s so easy to trim paths. Then I typically sweep these paths in Cinema4D and render them there.

I have this dream of having some kind of rig, where I could:

  • Aibrush a blurry black/white image in Photoshop, almost like a noise/heightmap.
  • The white areas would inform and influence where randomized circuit lines appear. The brighter the intensity, the more activity. You could even paint a few thin tangent lines to influence circuit lines that shoot off.
  • Load it into Grasshopper and use some combination of techniques (eg: L-system? Unsure…) to actually generate all the lines.

How plausible do you think this is? Any ideas on how I might get started even simply, which I can then explore/experiment/iterate on to chase the kind of look I’m going for?

there are surely ways but I found you images not very helpful. Have you some view from above?
Circuits OK, is there some some fake components pins. I mean a resistance is 2 pins, transistors 3 …

Hello RTK!

Your dream could be reality :slight_smile:

There are (always) multiple ways, this is one of them:

  • You will need somehow a point grid
    → you could start with a regular rectangular point grid and cull some points based on your heightmap ( not so nice )
    → or you start with a rectangular grid and use the circle-packing of kangaroo based on your heightmap to get a nicer point grid

  • now you have to clusterize somehow the points to create a polyline
    → you could cluster your points & values with k-means ( not so easy, and maybe not useful )
    → you could use proximity lines & topologizer & shortest paths to get branch-like-lines ( easier)
    → the next step would be to " discretize" poylines to specific angles with the great plugin pufferfish
    → the last step is to turn your polylines to a 3d-geometry like pipes etc.

I did not tried these steps, but with a little effort and research, it should be possible!

I hope I could help :slight_smile:

Great starting points, thank you!

Pufferfish has a a nice component called Pinch n Spread which can generate this circuit board aesthetic from a grid of points and some attractor points which can be randomised.

I’ll try and find an exampl but Google pufferfish Pinch n Spread

A while back I played with a funny way of generating some patterns that look a little bit circuit-board-ish
The idea came from this tweet by Ntsutae.
It’s just an incredibly short one line function -
but varying the input constants gives some surprisingly varied and complex patterns.
Feeding in brightness values from an image sampler as one of the constants gave this:

the definition: (3.4 MB)
using this photo as the image


It is also possible to play with field, and make fields that just generate fields with 45° angle step.
here one done with Perlin Noise and direction forced to go to the right.
I used that,

then transformed in GH_Field component.


See also Entagma video


another way of doing what you want could be the use of Wave Function Collapse (WFC), I see that like a sort of Truchet or Lego things. Some patterns with rules.

It seems that there is a wonderful tool for Rhinoceros/Grasshopper. It is called Monoceros


A là mode Entagma