Category: Processing / Java

Got a nice tip from Jason Sundram (thanks!) as a followup to the screensaver theme:

Websaver runs on MacOS and allows the user to specify a web page to load when the screensaver is active. And since it uses Safari to render the HTML (I assume), you can use HTML5 and Processing.js to run computational sketches on that web page.

It’s a nice hack to enable easy development of screensavers based on open web standards, without having to worry about interaction with the OS etc. In fact, it’s nearly as good as my Google Chrome screensaver idea, minus an app store etc.

No Comments »

While preparing for teaching a course in data tracking I was very happy to discover the excellent Unfolding library for making interactive maps in Processing. Unfolding makes it possible to create just about any kind of tile-based mapping application with a minimum of code, simple map drawing typically coming in <20 lines. It's perfect for visualizing FourSquare, OpenPaths, GeoRSS or any other kind of geo-based data. Now if I could only figure out how to control the timing of the map tweening, right now it feels more like jump cuts than smooth pans.

Here are three examples showing a simple map display and two demos using geo data from OpenPaths in CSV format: 20120127_unfolding_map_examples.zip

Update: The lecture notes about infoviz and self-ethnography are online on Scribd, it’s basically the same lecture as two years ago.

No Comments »

Update: After this was posted it got blogged on Creative Applications and I’ve received quite a few responses via Twitter. See the separate post “Screensaver Culture – Twitter responds” for a summary, as well as some further thoughts on the demise of the screensaver.

Task: Make a screensaver for 2012
  • Your task is to come up with a concept for a screensaver that is both suitable to the screensaver format and updated to a 2012 understanding of interaction design. We are looking for ideas that go beyond the traditional screensaver format, or which reinvent that format by applying design thinking to a field full of visual cliche.
  • Two general directions are suggested (but not required):
    1. Ambient data gadgets – screensavers as data aggregators and visualizers.
    2. Computational graphics – parametric visuals.
  • If your idea is too ambitious to realize in a 3-day time frame we want to see convincing screen mockups of how the screensaver would work. But we would rather see a real demo that’s rough around the edges than a slick Photoshop sketch. You must submit at least one Processing sketch illustrating part of your screensaver’s functionality.
Screensaver Links

3 Comments »

Arc mesh tool created with Modelbuilder and ControlP5

I did a short lecture + workshop about digital fabrication and parametric modeling with Processing yesterday at NYU’s ITP program. Thanks to Dan Shiffman for the invite, it ended up being a lot of fun because of the great turnout of enthusiastic ITP’ers. It certainly made me even more regretful that I was unable to teach a fabbing course at ITP this semester, but with luck there will be other oppportunities.

As promised I have uploaded the pre-written examples I demo’ed as well as the code I (frenziedly) wrote live during our 1.5 hour coding session. The focus was to demonstrate the logic of the Modelbuilder library, a set of utilities and aimed at abstracting and simplifying some common tasks in computational creation of 3D meshes.

The library is really not all that sophisticated, but it shifts the focus away from OpenGL drawing logic towards a more object-oriented way of imaging 3D forms based on UVertexList objects. In a typical situation it should simplify a lot of tasks, as well as save dozens of for() loops and repetitive code. It also allows some pragmatic coding (aka “lazy”) coding practices enabling easy reuse of geometries due to the assumption that operations like “new UVertexList(vl)” should always copy input data by content rather than by reference.

I’m pleased to say that Modelbuilder performed well in the demo session, there’s nothing like live coding to reveal weaknesses or inconsistencies in code. But the Modelbuilder logic proved consistent under stress testing and we were able to do some pretty decent mesh generation in a limited amount of time.

Download: Workshop Code

A ZIP with all the files shown (including the Modelbuilder and ContolP5 libraries) can be downloaded from http://db.tt/5Ehmn6uz. It includes the following code examples:

  • simple_geo_arc_4 A tool for creating a composition of 3D arcs (w/ valid face normal orientation and passing the “waterproof” criteria for 3D printing), generating output to STL format. This was written live in around 30 minutes.
  • mb_04_gui_parametric A parametric 3D form generator created for my Makerbot residency – results look valid on screen but for some reason export to STL results in flawed models. I’ll look into debugging this example.
  • mb_04_gui_heightfield An example showing how to create a heightfield mesh from an image, allowing interactive control of mesh resolution and Z scaling. Potentially useful for geographical elevation maps and Kinect depth maps.
  • A set of examples demonstrating the core Modelbuilder functions

4 Comments »

This blog has been quiet for a while, due not to laziness but rather lack of time. Some random notes to let you know what I’ve been up to:

  • I just set up a Tumblr blog to post more theory-related thoughts that don’t fit this blog so well. First post: Things I’ve learned from disagreeing about (Media) Art on the Internet
  • I’m working on some new objects for 3D printing, experimenting with interfacing Modelbuilder to Wblut’s Hemesh library. I have some promising results so far, but actual print tests remain. I will try to post more about this later, specifically providing a class that acts as a bridge between my UGeometry objects and the HE_Mesh data structure. Interchange of mesh data is the biggest issue for 3D libraries right now, hopefully the upcoming PShape3D structure will facilitate this.
  • The Modelbuilder lib is due for an upgrade, I’ll do this when Processing 2.0 is out for good.
  • I had a great time doing a solo show in San Francisco this summer, as part of the SF Film Society’s Kinotek series, see documentation on Flickr: SFFS Kinotek – Automatic Writing. Thanks to Sean Uyehara and the others at SFFS, as well as the excellent people I met during my stay.
  • The SF show featured the biggest collection of Makerbot objects to date – about 25 pieces: Form studies (Makerbot). As always my thanks go to the Makerbot clan for excellent support, at the craziest I had 6 Makerbots printing at once.

No Comments »

MakerBot models 5486

MakerBot models built with code included with the ModelBuilder library, also downloadable from my Thingiverse account

Update, July 1 2011: I’ve uploaded ModelBuilder v0004, which fixes a few really silly bugs in 0003. Download it from http://code.google.com/p/codeandform/.

I’m happy to announce the first public release of my new ModelBuilder library, created as part of my artist-in-residence project at MakerBot Industries and beta tested in the Interactive Parametrics workshop. The occasion for today’s release is the MakerBot User Group New York, where I’ll talk about the library and show off my MakerBot models.

ModelBuilder focuses on functions useful for digital fabrication purposes, such as creating meshes, centering models around origin, scaling to given dimensions, output to STL format etc. It emulates Processing’s beginShape / vertex / endShape logic to build mesh geometry which can then be manipulated and transformed.

The UVertexList class allows the user to build paths of vertices. Vertex lists are then fed into various UGeometry.quadStrip() functions to construct quad strip meshes, most likely eliminating the need for dozens of for loops in the process. See the online copy of the ModelBuilder JavaDoc for a more complete overview.

Read the rest of this entry »

10 Comments »

I recently came back from a one-week visiting artist stay at Florida State University, more specifically at tbe Small Craft Advisory Press. SCAP publishes artist books in low editions, usually by working with visiting artists. I had the pleasure of being invited by Denise Bookwalter and Meg Mitchell, excellent hosts both.

The goal of my stay was to start work on an artist book of my work, using laser cutting to engrave woodblocks for printing. Initial tests were promising, although the laser cutter has some limitations in reproducing smaller vector details. Rasterization tends to smooth out certain features and limits graphic complexity at smaller print sizes.

SCAP 6761 Modular printing

Modular printing system

My original idea was a modular system with circular print blocks that could be rotated for every run so that each book would be unique. This would mean a lot of work for the printers, however, so we agreed on a small print size of 4×4″. We did extensive tests with promising results, but in the end I decided that the small size just didn’t work. To adjust for the small size I had to reduce complexity to a point where it no longer had the qualities I was looking for.

The revised game plan is to do a book of 8×8″ single-color prints (in an edition of 50). The larger format allows for a much higher complexity, while the reduced color palette emphasises the computational geometry. Four alternating colors will provide variation through the book, and 24 pages should give me plenty of space for experimentation.

The book will be printed over the next few months, I can’t wait to dig into the printing process in more detail. My thanks again to Meg and Denise for the invitation!

No Comments »

My solo show Extrusion opened at ROM for Kunst og Arkitektur in Oslo last Friday. I’ll be posting some of the pieces here over the next few days.

Prime Hex, 2011. Light installation w/ 12 fluorescent light tubes controlled via DMX using Processing. 300 x 270 cm. Behavior is dictated by prime number relationships, each element having a given time period where the light is on and off in equal measure.

Prime Hex is a variation of “Prime”, a 2010 public commission for Bybanen light rail tunnel, Bergen. It uses Henri David’s Processing library dmxP512 for lighting control.

No Comments »

I’m working on a new 6-panel Grid Distortion piece for my Extrusion show next week, the final size will be 540 x 50 cm. I’ve been revisiting all the previous incarnations of the piece and tweaking the code to elicit new interpretations. Which led me to compile this summary of formal “typologies” that the piece is capable of exhibiting.

Given that the piece is essentially a variation on a very simple attractor simulation it tends to give very obvious (even almost boring) results, and its only through extensive tweaking of parameters and custom rendering styles that I’ve found results I’m excited by. Dave Bollinger made an accurate comment on Flickr that these are perhaps not very “watz-y” images, but its the translation of the form onto wood or metal that somehow completes the form for me.

Marius Watz - CircGrid03A 0010

Grid Distortion expanded: CircGrid on aluminum

Just last week I had some new aluminum pieces made in Berlin with Martin Bauer at Lasern in Berlin that represent a new direction in the series. Loosely titled CircGrid, these expand the same process to radially oriented grids. This might seem like an obvious extension, but the results are actually quite different. The images look less architectural, bringing to mind structures from nature like neurons, blood veins and plant roots etc.

I’m definitely enjoying this new and slightly more chaotic direction, as well as the crisp technical look of the aluminum.

No Comments »

Hot on the heels of the Interactive Parametrics workshop I’m now in Oslo working on a solo show that will open March 11 at ROM For Art + Architecture (Oslo). Titled “Extrusion”, the show highlights how my practice has bee evolving to dealing with ways of physically communicating code-based processes beyond the default means of the computer screen or projection.

The show will feature a new version of the light installation Prime, this time realized with fluorescent tubes and DMX lighting control. Other elements include a wall drawing made by retracing projected vectors with painters tape (1.2 km of it), as well CNC plotter and laser drawings (Arc Drawings and a new multi-panel Grid Distortion.)

Finally, I’m building a large geometric structure (see above) using my ModelBuilder library in Processing. The forms are designed to be easy to unwrap to 2D without tesselating polygons. I’m outputting cutting templates as PDF files to be used by the CNC routers. This is a new process for me, despite having followed the success people like Martin Fuchs has had with unwrapping polygon meshes. It allows me to work on a fairly large scale (as in 3 x 3 x 1.5 meters), articulating actual structures rather than representations of structures.

All in all it’s a very exciting show to be working on, and I’m grateful to ROM and its director Henrik der Minassian for supporting all this craziness… If you’re in Oslo next weekend I hope to see you there!

Exploder wall - Install 05

Previous tape drawing: Exploder at System:System

No Comments »