Some more Processing updates for the faithful. Five new libraries have been added.

Vector3D, which is part of Daniel Shiffman‘s “The Nature Of Code” course.

public class Vector3D extends java.lang.Object: A class to describe a two or three dimensional vector.

To animate an object in a virtual space, we need a way of storing information about the object’s location, movement, etc. In a two dimensional space (such as our computer screen), a location is expressed as an x and y coordinate. This pairing of two pieces of information is the essential building block for the systems we will create. We will have both “Points” and “Vectors”. A point represents a location and a vector represents the displacement between two points.

More details and examples in the Nature of Code.

XMLRPCLib, for hooking into web service APIs.

Currently many web services have application programming interfaces (API) that work through the XML-RPC protocol. By using the XmlrpcClient in Processing, you can incorporate the available data and processes of these web services in your program. By using the XmlrpcServer in Processing, you can open up the methods of your program as an interface to other programs over the Internet.

WordPress uses XML-RPC… Mister Editor Sir? If I write a postbot does that mean I can take another holiday?

Interfascia is a GUI library:

Interfascia is a graphical user interface library for the Processing graphics programming environment. It provides a toolkit of standard interface widgets like text fields, buttons, checkboxes, sliders, etc. Interfascia automatically handles interactions within the collection of widgets and sends event messages to your project.

SpringGUI is another GUI library:

SpringGUI is a GUI manager that allows you to create user interface elements in your Processing applications and respond to events that they send to your programs whenever your user does his user-things. In terms of Java, SpringGUI wraps around the java.awt Components, and it comes in two flavours: a beginner mode that gives your program the information it needs about events, and an advanced mode that provides access to the underlying awt classes if you find that you need it.

ID3 allows you to read ID3v1.1 tags from MP3 files. So now I can finally make the plotter write out a realtime list of the music I’m listening to and kick the shackles of Audioscrobbler.

Alongside all of this exciting new code, the Processing Exhibition has a new addition in the form of Blinks and Buttons, which appeared on Pixelsumo recently.

The object itself is made of laser-cut acrylic. The button was deliberately chosen and taken from a Agfamatic 901 and is combined with an electronic button underneath. This in turn is connected to a SonyEricsson K750i which is running a custom software written in Mobile Processing. For retrieving others photos, the device connects to the internet and contacts the same server as Blinks. This server’s custom PHP-script will continously search Flickr for the indicated moment while Buttons regularily asks for results. As soon as a photo of the moment has been shared on the web, it is transmitted and displayed on the device’s screen.

  • Gilbert Bernstein

    Entirely just grumpy graphics programmer ranting here, so fair warning.

    I wish people wouldn't insist on drawing arbitrary distinctions between points and vectors, since really they're just the same thing with different interpretations.

    And, although Having Vectors is most certainly useful, Vectors as objects are usually really inefficient. I know that there's not really another option with Java and that they probably won't get instantiated in enough numbers to slow things down, but it just makes me cringe every time I see it.

  • http://createdigitalmusic.com Peter Kirn

    Gilbert, good point. I think in this case that the transformations Daniel's performing with his classes may actually speed things up versus the kludgy ways you might model this in Processing; I'd have to try it out.

    Jaymis, I'm happy to have a Processing-based postbot take over for us on cdmotion — maybe just a guest week, to see what will happen. I think I could probably be modeled in code. :)