Workshop: Intro to Generative Art with Processing (Jun 1, NYC)

May 27, 2014 | Code, Processing / Java, Workshops

Marius Watz: KBG (sound viz)

Workshop: Intro to Generative Art with Processing
Date: Sunday, Jun 1, Williamsburg, NYC

Participants will be introduced to the principles of Generative Art using the Processing programming tool. A generative system can take many forms, but is essentially a set of rules that when translated to code executed is capable of producing an endless variety of forms or visuals. We will look at how a generative visual can be created, from sketching in code to creating professional quality output for print or video.

The examples we will go through include useful some essential building blocks and tools-of-trade, applied to real-world problems. Topics include how to do basic composition and color in code, to more complex issues like creating geometry and animation. By adding GUI controls and print / video output to our sketches we have the makings of a full-fledged generative system.


, , , , , ,

Workshop: Generative visuals in Processing, Oslo, April 13+14

Mar 22, 2013 | Code, News, Processing / Java, Watz work, Workshops


After a string of workshops in New York I’m happy to announce that I’ll be doing my first round of private workshops in Europe. (Well, technically Scandinavia, but close enough.)

I’m bringing some Processing love to Norway in the form of a 2-day workshop on Generative Visuals in Processing. The workshop will take place on the weekend of April 13+14, which is only a few weeks away so get in touch if you’re interested in taking part. Details and prices are listed below.

  • Saturday, April 13: Introduction to Processing and Generative Art
    Participants will be introduced to basic Processing syntax through a series of code examples designed to illustrate key Processing and Java concepts, giving a first taste of the power of generative visuals. We will then apply what we’ve learned by designing a generative system from the ground up, applying minor tweaks and code “remixes” to produce a variety of possible outputs.

    Topics: How to describe principles of composition and animation as computational logic. Basic Processing / Java syntax (including object-oriented code.) Practical techniques for generating pseudo-random color palettes and the use of GUI controls to explore possible permutations of a parametric form system. Finally, we will also learn to use Processing to generate professional output for use in print (as PDF vector or ultra-highres raster) or video (Quicktime video in HD and even 4k.)

  • Sunday, April 14: Generative Art, Advanced Topics
    Day #2 will deal with advanced computational techniques and how to describe complex geometry in code. Our test case will be the re-creation of some classic (and not-so-classic) generative algorithms, breaking down the underlying logic and learning some principles of 2D+3D geometry in the process.

    We will see how vectors can be used to describe motion and structures in space, before moving on to useful abstractions like vertex lists and polygon meshes that allow us to use the same principles on a larger scale. And since data is all-important in all things code, one of our test cases will be to read data from a CSV file and find different ways to map it to a visual structure.

    Since computational geometry is traditionally math-heavy an important objective will be to outsource the heavy lifting to a geometry library so we can focus on the fun parts. We’ll be using Modelbuilder to handle most of our computational geometry needs. It defines a code workflow that simplifies common geometry tasks like generating polygon meshes and provides simple solutions to well-known code challenges that tend to come up in project after project.

    Bonus track: A (brief) look at Processing.js and its potential to bring the power of Processing back to the web.

    Topics: 2D and 3D geometry as a product of generative processes, including how to simplify and overcome some common challenges. Practical real-world uses for vectors, vertex lists and other data structures, whether for realtime rendering or 3D printing etc. Parsing data from CSV and finding suitable visual mappings. Advanced parametric modeling: Export/import of parameter data, on-demand realtime model regeneration in response to interactive parameter manipulation. Processing.js and exporting sketches to the web.

Price and booking: NOK 1500 is the regular price for both days, reducted to NOK 1200 for students and artists (that’s approx. EUR 200 / 162). I’m happy to take bookings for only one of the days (at NOK 900 / 750), but be advised that I need to give priority to participants who want to attend both days. Depending on the level of interest I may not be able to confirm single-day bookings until the week of the workshop.

To book your spot on the workshop please email with your name, address and cell phone #. You will be sent a PayPal URL where you can complete your payment, participation is confirmed once payment is completed.

Dates & times: Saturday and Sunday April 13+14, 10:00-17:00. This includes one hour for lunch (not included) and a possibility of extending somewhat beyond the official end time if so desired. There will be an optional informal social event Saturday evening.

Venue: I am partnering with local superstars Bengler, who have gracefully offered us the use of their offices conveniently located close to the popular Grünerløkka area of Oslo. I will send out an email with directions and a map to confirmed participants the week of the workshop.

Who is it for and how can you prepare

The workshop should be helpful for beginners looking to learn about Processing and “creative code” but also for experienced coders interested in expanding their area of knowledge. A working understanding of code is a definite advantage, but Day #1 is designed to be possible to follow even without previous programming experience. Advanced coders will find the basic syntax easy but should still learn some new helpful techniques dealing with visuals and animation.

Day #2 introduces advanced concepts that are essential to generative systems and “creative code” but which can be a challenge to follow step-by-step in code. The underlying logic and general principles discussed should nevertheless e helpful for anyone interested in how code can be used to explore new types of forms and creative expressions.

Suggested preparations: Read the Introduction and Chapter 1: Vectors sections of Dan Shiffman’s excellent Nature of Code book. You can also read through the sample PDF of Ben Fry & Casey Reas: Learning Processing (better yet, buy it.) The sample PDF will give you an idea of Processing as a tool as well as insight into the basic syntax. Download Processing and run through the examples.

To prepare for Day #2 I suggest you download Modelbuilder-0020 and run the examples included with the library (some of which require ControlP5 to run.) Also see the Modelbuilder collection of sketches on for examples.

, , , , ,

Master Class at Processing Paris, April 13-15

Mar 8, 2012 | News, Processing / Java, Workshops

I will be teaching a Master Class on generative systems at Processing Paris next month. I will be explaining some of the core principles I consider when designing my own works, from procedural drawing and animation to creating 3D objects for 3D printing. Should be fun!

Title : Generative Systems – From Drawing to 3D Printing

Teacher : Marius Watz
Dates : 13/14/15 April
Cost : 150 €
The Workshop will be taught in English.

In this master class Marius Watz will show how to create generative systems for a range of creative outputs. Starting with the creation of a basic generative gesture, he will demonstrate how to design systems for maximum potential, including defining and modulating parameters. Three core topics will be explored: Creating drawing systems, realtime generative animation and computational geometry for 3D printing.

Participants will be provided with pre-written Processing sketches that form a framework that can easily be expanded and customized. Watz will then walk through the creation of these frameworks from the ground up, demonstrating an iterative creative process. Final examples include code for high-res output for professional use.

Day 1: Generative Systems

– Introduction to generative systems
– Drawing systems and rule-based composition
– Real time generative animation
– Independent work: First sketches

Day 2: 3D Modeling Systems

– 3D geometry: Building polygon meshes
– Introduction to the Modelbuilder library
– Creating models for 3D printing
– Independent work: Revision of concept

Day 3: Personal Creation

– Independent work: Production
– Presentations and critique

To register for this workshop, send us an email with your full name and address to : To learn more about Marius :

, , , ,

Shakerag workshop – summary and links

Jun 19, 2010 | Links, Processing / Java, Workshops

I just finished a very satisfying workshop at Shakerag in Sewanee, Tennesse. It was inspiring to spend a week writing code surrounded by craft makers doing everything from pottery and book binding to embroidery and twig geometries. It reminded me that no creative practice exists in a vacuum, but stands on the shoulders of the collective knowledge produced by all the makers that went before.

My thanks to all the great people at Shakerag, and especially my studio assistant Greg Pond (an excellent sound artist and sculptor.) Between the awesome food, great company and inspiring conversations it was a week well spent down South.

Links and resources

The following are some useful links that came up in the course of the week, reposted here for convenience.

We also had some fun with Arduino that made me realize I really do need to pick up some more physical computing tools.

, , , , , , , ,

U of Akron Processing workshop

Mar 24, 2008 | Workshops

Akron 151 Myers School of Art workshop

Workshop at Mary Schiller Myers School of Art, U of Akron

I’m teaching a workshop at the University of Akron as part of my residency at the Myers School of Art, which the ElectroPlastiques exhibition is a part of.

Code from the workshop will be online here:

, , ,

KHiO workshop: Pattern, repetition and transformation

Mar 11, 2008 | Workshops

Code from the workshop will be online here: workshops/080310_khio. Check out Kuler for RGB color goodness.

Inspiration for media architecture:

, , ,

Fabrication @ HyperWerk progress

Feb 27, 2008 | Flickr, Processing / Java, Workshops

We’re making good progress at the HyperWerk digital fabrication workshop, see the new Fabbing @ HyperWerk Flickr group for details.

Hyper0802 201 Martin Fuchs - Polygon form Hyper0802 171 Martin Fuchs - Polygon form Hyper0802 182 Philip Whitfield Hyper0802 003 Martin Fuchs Hyper0802 102 Leander Herzog Hyper0802 095 Martin Fuchs Hyper0802 133 Roland von Tessin

, , , , , ,

Strategies for fabrication

Feb 19, 2008 | Workshops

Digital fabrication tools like CNC milling and laser cutting impose their own restrictions on production, such as what materials can used and what size objects can be processed. Additionally, in order to produce a 3D form using a 2D technique like laser cutting, some way must be found for translating 3D into 2D and back again.

Possible fabrication strategies

  • Contouring and volumetric cross-sections (#1, #2, #3)
  • Unfolding (for example using Lamina)
  • Interlocking assembly (#1, #2)
  • CNC-milled relief (#1, #2)

For a more complete list of strategies, look at this page from Ball State University. The PDF they link to contains a ton of great examples.

, , ,

Research – parametric design

Feb 19, 2008 | Workshops

HyperWerk: Parametric design workshop

Feb 18, 2008 | Workshops

I’m at HyperWerk in Basel, Switzerland teaching a workshop in parametric design for the next two weeks. Files will be uploaded to the following address:

Task for the day:

  • Find an example of a project involving parametric design or rapid manufacturing.
  • Prepare to give a 3 minute presentation of the project and explain why you think it’s a good example of parametric design.

, , , ,