loading

Archive for May, 2006

blog.blprnt.com - Processing

Processing Workshop: Flashbelt Minneapolis, June 16th 2006

As part of the fantastic FlashBelt conference that is coming up in a few weeks, I will be leading a 3-hour workshop on Processing. The workshop will be targeted to ActionScripters who are interested in learning Processing to use as a prototyping tool, as a production tool or simply just for fun. We will cover basic syntax and programming strategies and will also look into 3D, audio libraries and vector output.

Anyone who's in the area should head over to the FlashBelt website for the details. I would also like to run this workshop here in Vancouver - if there is interest I can look into finding a venue. Let me know!

Alison

Well, Im getting there now.

UT2004 sends x, y’s and z’s to another computer via UDP on port 9000.
Processing recieves the packet communication and converts them into lovely useful floats, whilst ignoring any packets that arent relevant (there are quite a few!).

Heres the processing code that accepts communication and converts to floats.
I used the Carnivore library in the end.

// Uses Carnivore
// Note: requires Carnivore Library for Processing v1.3 (http://rhizome.org/carnivore) (needs winpcap)

import rsg.carnivore.*;
int count3 = 0;
float tempx;
float tempy;
float tempz;
String packettext;
String look = “nextthree”;

void setup(){
size(625, 625);
background(255);
Carnivore c = new Carnivore(this);
}

void draw(){

}

void packetEvent(CarniPacket packet){ // Called each time a new packet arrives

packettext = packet.ascii;
int stringlength = packettext.length();

if (stringlength < 19){

String list[] = split(packettext);
//println(list[0]);

if(list[0].equals(look) == true) { //wait for the first signal…
println(”here”);
count3 = 1;
}else{
if (count3 == 1){
tempx = float(list[0]);
count3 = 2;
println(”x = ” + tempx);
}else{
if (count3 == 2){
tempy = float(list[0]);
count3 = 3;
println(”y = ” + tempy);
}else{
if (count3 == 3){
tempz = float(list[0]);
count3 = 0;
println(”z = ” + tempz);
}
}
}
} //end if else madness

}//end if string length

}//end packetevent

Well, Im getting there now.

UT2004 sends x, y’s and z’s to another computer via UDP on port 9000.
Processing recieves the packet communication and converts them into lovely useful floats, whilst ignoring any packets that arent relevant (there are quite a few!).

Heres the processing code that accepts communication and converts to floats.
I used the Carnivore library in the end.

// Uses Carnivore
// Note: requires Carnivore Library for Processing v1.3 (http://rhizome.org/carnivore) (needs winpcap)

import rsg.carnivore.*;
int count3 = 0;
float tempx;
float tempy;
float tempz;
String packettext;
String look = “nextthree”;

void setup(){
size(625, 625);
background(255);
Carnivore c = new Carnivore(this);
}

void draw(){

}

void packetEvent(CarniPacket packet){ // Called each time a new packet arrives

packettext = packet.ascii;
int stringlength = packettext.length();

if (stringlength < 19){

String list[] = split(packettext);
//println(list[0]);

if(list[0].equals(look) == true) { //wait for the first signal…
println(”here”);
count3 = 1;
}else{
if (count3 == 1){
tempx = float(list[0]);
count3 = 2;
println(”x = ” + tempx);
}else{
if (count3 == 2){
tempy = float(list[0]);
count3 = 3;
println(”y = ” + tempy);
}else{
if (count3 == 3){
tempz = float(list[0]);
count3 = 0;
println(”z = ” + tempz);
}
}
}
} //end if else madness

}//end if string length

}//end packetevent

wnugroho

Dynamic Composition v 6


v3ga

Saturday night crossfader

Café Pompier - 27th May 2006

The live visual show on Saturday was a nice event, I was relatively happy since VisionFactory worked pretty well in its networked configuration. Though, controlling several parameters with only a mouse and a keyboard at the same time was quite painful and not really that intuitive. I really missed a midi input controller here. Hopefully, I had plugged some music responsive scenes and a webcam focusing of my friend Sevenfive performing live, so that the whole thing was enough reactive to the sound and to the context.
Here are three videos shot during the show :


VisionFactory
software is about to undergo several major updates. Adding input devices handling (midi / joystick / …) with easy binding to scene properties is on the top of the todo list. The last past few weeks, I worked on integrating Python scripting in this framework. It’s in its early stage of development, but the first tests were quite positive, and being able to script scenes at runtime sounds pretty exciting! Hmmm, I also have to re-work the UI layer since my controls panels are a bit … disordered.

v3ga

Saturday night crossfader

Café Pompier - 27th May 2006

The live visual show on Saturday was a nice event, I was relatively happy since VisionFactory worked pretty well in its networked configuration. Though, controlling several parameters with only a mouse and a keyboard at the same time was quite painful and not really that intuitive. I really missed a midi input controller here. Hopefully, I had plugged some music responsive scenes and a webcam focusing of my friend Sevenfive performing live, so that the whole thing was enough reactive to the sound and to the context.
Here are three videos shot during the show :


VisionFactory
software is about to undergo several major updates. Adding input devices handling (midi / joystick / …) with easy binding to scene properties is on the top of the todo list. The last past few weeks, I worked on integrating Python scripting in this framework. It’s in its early stage of development, but the first tests were quite positive, and being able to script scenes at runtime sounds pretty exciting! Hmmm, I also have to re-work the UI layer since my controls panels are a bit … disordered.

RobotAcid

To All Things an End

Well I’m taking a quick moment to have a teeny break from setting up my installation which has to be ready pretty damn sharpish. Mendel/Jungalist is an interactive installation in Processing and Pure Data. I’m hoping the piece goes down well with my assessors and the public this Thursday 1st June (Cyprus station, 6pm, whoo!).

I’ve updated my Vectoriser to output pdf files which means it can handle much larger images and I’ve updated my Processing Mobile project page with applet versions of the work.

Aside from frivolous links like kung-fu clowns and 30-second bunny theatre I also discovered the Heliodisplay which to me seems like some serious voodoo. How the hell does “converted air” become a backprojection screen?

On the data-visualisation side the earthquake rose is interesting considering I usually think of those linear printouts for visualising earthquakes.

Zen and Object Oriented Programming

And last and certainly least, I have to say that the world’s first open movie is visually stunning but has without a doubt the most horrendous dialogue and the most confusing script.

watz

Links 060528

  • Seltar's snippet palace: Processing user Seltar has set up a useful collection of code snippets, neat little things like the difference between two dates, handling multiple keys pressed etc. It's set up so that users can contribute, go ahead and make the palace bigger.
  • MovieMaker Library: The indefatigable Daniel Shiffman has put together a library for writing Quicktime movies directly from Processing. It's a little rough around the edges yet, but should be fun to play with.
  • Daniel Shiffman » Teaching: While talking about Shiffman, have a look at his extensive course materials from ITP, which he generously publishes online. It has some great tutorials.

much has happened since my last posts.

Firstly I have fully decided on what Im going to do for FACT.
UT will be played by the bots as usual, their positions will be logged and sent to a “dance floor” a real life one. 6 by 6 (cuz I cant afford more).

This is the processing pic of essentially the top down view of the dancefloor.

So yeah, people will be able to walk over the floor and where they walk the bots beneath them will die.
Its kinda like a really advanced version of whack attack (or similar games)

To make the cull in Unreal I had to write a new mutator that would accept 36 different (6 by 6) keypresses and drop a kill volume on top of anyones head in the correct vacinity.

okay, so I know I havent explained this well. But it will all make sense soon…

Here is a link to the processing code (its overly complex at the mo because Im going to need to do some madness to it a little later on… the live reading of the game)

Here is a link to me asking for help on the Unreal script forums… (Ill include the actual finished mutator and stuff in good time)

Quasimondo

FilterForge Beta

If you like patch based tools and experimental visuals you might want to check out FilterForge a new Photoshop plugin which also works as a standalone application. Currently it’s in beta and you can register at their site to apply for a free evaluation copy.

FilterForge allows you to create all kinds of textures or effects by simply connecting various functional modules with “cables” - a system that is very common in a lot of 3d software or visual programming tools like max/msp or Quartz Composer.

Some features that I find very interesting are: the resulting patterns can be made seamless, they can be up to 32000×32000 pixels in size and there is an optional intelligent antialiasing algorithm that smoothes out jaggies at high contrast edges.

You can share the filters and effects that you build on the FilterForge website and if you deliver good ones that many others find useful you can even get FilterForge for free.

TomC

1D textures for quick contours

You can generate simple contour maps from 1-dimensional textures. I think it’s a trick I picked up from one of the editions of the OpenGL Red Book, but it works with Processing’s 3D and OpenGL renderers too.

This example uses the Arcball and Triangulate libraries I put together for Processing Hacks, and I’ll document it fully there in the next few days. In the meantime, here’s the applet for safe keeping:

Tom Carden

1D textures for quick contours

You can generate simple contour maps from 1-dimensional textures. I think it’s a trick I picked up from one of the editions of the OpenGL Red Book, but it works with Processing’s 3D and OpenGL renderers too.




This example uses the Arcball and Triangulate libraries I put together for Processing Hacks, and I’ll document it fully there in the next few days. In the meantime, here’s the applet for safe keeping:







TomC

MySociety Travel Time maps of the UK

MySociety’s Travel Time maps of the UK take a more rigourous and comprehensive look at the same kind of ideas I was exploring with my Travel Time Tube Map (and contours). Lovely results!

Tom Carden

MySociety Travel Time maps of the UK

MySociety’s Travel Time maps of the UK take a more rigourous and comprehensive look at the same kind of ideas I was exploring with my Travel Time Tube Map (and contours). Lovely results!