Workshop: Intro to Generative Art with Processing (July 6, NYC)

Jun 23, 2014 | Code, Processing / Java, Workshops

Marius Watz: KBG (sound viz)

Workshop: Intro to Generative Art with Processing
Date: Sunday, July 6, Williamsburg, NYC

Participants will be introduced to the principles of Generative Art using Processing, a Java-based coding tool designed specifically for creative applications.

A generative system can take many forms, but essentially the term describes a set of aesthetic rules for creating layout, motion and geometry. Translated to code, these systems are capable of producing an endless variety of forms and visuals. We will look at how to create a generative visual system, from sketching in code to creating professional quality output for print or video.

Examples and topics will include: Useful building blocks and tools-of-the-trade applied to real-world problems, from basic composition and color in code, to more complex issues like geometry and animation. By adding GUI controls and output options for print + video to our sketches, we end up with the makings of a full-fledged generative system.

Continued…

, , , , , ,

Code: frameOptions.pde

Jun 22, 2014 | Code, Processing / Java

GitHub Gist: frameOptions.pde Shows how to control the window frame of a Processing app. Disable frame decoration (see init() function), manipulate frame screen position on startup or interactively (see keyPressed(), draw() functions.)

Continued…

, , , ,

Code: iOStoEpochTime.java

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

GitHub Gist: iOStoEpochTime.java Converts iOS Objective-C timestamps to their Java equivalent. Useful when parsing exported data from iOS backup SQLite files. I’ll post a demo parsing iMessage data shortly, written for my upcoming Quantified Self workshop.

Technical details: Objective-C timestamps (as encountered in iOS SQLite data) are given as seconds since Jan 1, 2001, while Java timestamps represent milliseconds since Jan 1, 1970.

To convert between them we first multiply the Objective-C timestamp by 1000, then we add a pre-calculated millisecond offset representing the difference between Jan 1, 1970 and Jan 1, 2001. This difference is calculated using the java.util.Calendar class, see code below for how this is done.

Continued…

, , , , , ,

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.

Continued…

, , , , , ,

Code: PrimeList.pde

May 22, 2014 | Code, Processing / Java

GitHub Gist: PrimeList.pde Parses prime number lists as provided by http://primes.utm.edu/, storing primes as ArrayList.

Requires PDE source and a sample input file to run, use download link to get both as a ZIP.
Continued…

, , , , ,

Code: UConfigFile.pde

Apr 19, 2014 | Code, Processing / Java, Workshops

UConfigFile.pde: How to store config parameters in an external file using the java.util.Properties class. Useful for sketches that require login/password or API secrets.

Relevant Java API links:

Code: Continued…

, , , , , ,

Code: ULoremIpsum.java (text anonymizer)

Apr 8, 2014 | Code, Processing / Java, Workshops

New GitHub Gist: ULoremIpsum.java Simple Lorem Ipsum text replacer for Java/Processing. It is useful for anonymizing text content in data sets (email, SMS, direct messages etc.) Upper/lower case is preserved as best as Java String supports (Locale twiddling might be needed in some cases) and will leave all non-letters intact.

The class uses two built-in dictionaries: A list of replacement words and a “whitelist” of words that should be kept as is. For brevity, these are set as inline preset strings here. They can easily be changed in the code or changed to be customizable by adding a mechanism for setting the dictionaries.

Continued…

, , , , , , ,

ITP: Sound As Data workshop (code)

Nov 12, 2013 | Code, ITP-Parametric, Processing / Java, Workshops

20131111-ITP-Sound-As-Data

Nov 11, 2013 | Marius Watz: Sound as Data Workshop, ITP NYU
Download: See GitHub

As part of my on-going ITP residency I am doing a few workshops on specialized code topics. This weekend I revisited my previous work on using sound as an input for visuals or geometry, using Processing and Minim. It was only a 3 hour workshop, but we covered the basics:

  • Opening line in or sound file inputs
  • Accessing sound buffer
  • Normalizing volume
  • Using damping to control FFT behavior

All code has been posted on GitHub, original description below. Continued…

, , , , , ,

Workshop NYC, Sept 21: Intro to Generative Art with Processing

Sep 12, 2013 | Code, News, Processing / Java, Workshops

Marius Watz: KBG (sound viz)

Workshop: Intro to Generative Art with Processing
Sat Sept 21, Park Slope, 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.

Continued…

, , , , , , ,

Workshop NYC, Sept 22: Processing – Geometry and animation

Sep 9, 2013 | Processing / Java, Workshops

From the Catenary Madness series (created with Toxiclibs, see code on OpenProcessing)

Workshop: Advanced Processing – Geometry and animation
Sun Sept 22, Park Slope, NYC

Processing is a great tool for producing complex and compelling visuals, but computational geometry can still be challenging for many coders. In this workshop we will break down some of the basic principles and making them more accessible through a set of relatively simple techniques.

Participants will learn strategies for creating generative visuals and motion in code, from defining particle systems and kinetic behavior to the creation of 3D mesh geometry. To this end we will learn to take advantage of libraries like Modelbuilder and Toxiclibs, which will take care of most complex tasks and allow us to focus on creative work.

The workshop will cover topics from the very basic (vectors and mesh creation) to advanced (physics and shading.) The focus will be on solving real-world problems through reliable techniques, making advanced techniques accessible by reducing the complexity involved. This workshop should be useful to anyone interested in more advanced techniques for coding visual forms and geometry. Being a hard core coder or math expert is not a requirement, as the focus of the workshop examples is on simplified but powerful techniques to create geometry and motion.

Continued…

, , , , , ,