uMzantsi (South): Exploration and Wave Motion Through Generative Art

  • Tristan Bunn Massey University
  • Marcos Steagall  (Translator) Auckland University of Technology
Keywords: Generative, Plotter, Python, Processing, Procedural


"uMzantsi" (South) is a series of artworks created using a combination programming code, various ink pens, different papers, and a 2-axis plotter. Specifically, the artist employed a combination of Python code, his bespoke generative code editor project (thonny-py5mode), and vector graphics software (Inkscape). Running each Python script produces unexpected results based on variants of mathematical formulas for wave/ripple-like motion. Creatively, the project examines exploration and wave motion through generative art; technically, it showcases what py5—a new creative coding library—can produce. The presentation provides an introduction to the artworks and the novel software environment for generating them.Technology enables us to travel the world remotely, from our sofas immersed in realities streamed into VR headsets. Digitally-teleport yourself to a tourist hotspot you've never visited, and you can likely identify the location by the landmarks (architecture, nature, and vistas) you observe; what you cannot explore are the regions beyond what is captured and curated for the VR traveller. The most remarkable, rewarding travel experiences require seeking out the uncertain. Backpackers travel without a plan, lugging no more than fits in a backpack; adventurous surfers travel days to remote locations to discover that special, unridden wave. In the spirit of the explorer-traveller, the artist—Covid-denied his journey to faraway, warm, seaside locations—spent time programming generative artwork inspired by the ocean (mathematical formulas for wave/ripple-like motion). His code incorporates randomness to produce unpredictable results, to capture the anticipation and thrill of exploration in adventurous travel. Plotting the creations introduces characteristic imperfections of the pen and paper medium.Processing's Python Mode combines the Python programming language and Processing, a development environment for interactive and graphics programming. Python is one of the most popular programming languages in use today. There are many good reasons for this: it is a beginner-friendly language, more approachable than languages like Java or C++; it is a general-purpose language suitable for programming artificial intelligence (AI), games, simulations, and web apps, among other applications. Processing is composed of a programming language and an editor for writing and compiling code; it provides a collection of special commands that allow users to draw, animate, and handle user input with code. Processing makes programming more accessible for designers and artists, and its thriving user base has grown to include researchers, hobbyists, and educators. Java is the basis for the original Processing programming language, but other variants have since appeared, including JavaScript (p5.js) and Ruby (JRubyArt) versions. In 2010, Jonathan Feinberg created Processing Python Mode, an extension for Processing that allows users to write Python instead of Java-esque code.Py5 is a spiritual successor to Processing Python Mode; both use Python syntax, but their implementations are very different. The artist created the uMzantsi series of artworks by combining py5 and the Thonny code editor via a bespoke plug-in he has developed. His goal was to produce striking 2D-plotted artworks using a new creative coding environment and at the same time feedback into the open-source development of py5 (of which he is an influential contributor).