Shipibo Pattern

The Shipibo are an indigenous tribe that live in the Amazon Jungle in Peru. During ceremony, a particular pattern is seen and heard by these people as a description of the reality of nature. I have seen it too. The visual pattern is not what is actually witnessed, but an attempt to represent it in two dimensions.

The patterns are composed of reflection, fractal self-similarity, and recursive motifs. Many of these constructions are native phenomena of computation.

The Shipibo believe the patterns are healing on emotional, physical, and spiritual levels. My personal experience with this vision leads me to believe it is an objective reality, one that can be modeled and explored.

The background fuzz was generated with the common self-substituting Hilbert curve. Network connecting nodes were periodically added to points on the curve to allow more complexity.

The foreground object is fundamentally a maze of connected minos, reflected about both axes. Minos are adjacent collections of blocks. Two blocks can be called a domino, three blocks a trimino, four blocks a tetramino, and so on. This algorithm allows mino blocks up to eleven.

A glow effect is achieved by placing multiple high alpha boxes of varying rotation and scale around each object. As with everything in generative art, the effect intensity is parameterized.

This generative algorithm is primarily imitating the traditional artwork of the Shipibo people. My work lacks the subtle complexity and precision of the real thing.

Download Source Code

Programmed in Processing
by Jared S Tarbell
in Albuquerque, New Mexico, USA
on January 16, 2020


  • This is both totally unlike and completely similar to your previous visualizations. The integration of Shipibo indigenous tribal patterns and the Hilbert curve is remarkable. Beautiful and enticing. Inspired and healing. You continue to expand our awareness with your work.

  • Hi, cant’t make it to run in Processing…

    Reading pollockCSM.gif…done 461 colors discovered
    Could not run the sketch (Target VM failed to initialize).
    For more information, read revisions.txt and Help → Troubleshooting

    Any idea?

    • I sometimes get this error too. Usually I just compile again and it runs. Check to make sure you’re running the latest build of Processing 3.5.3 0270. Also try changing the drawing mode in the size() command from ‘FX2D’ to ‘P2D’

Leave a Reply