loading

ribbon invaders

ribbon invaders

dug up some old ribbon code today with the idea of projecting video onto the ribbons. nice thing about this was that once all the code was in place and working, switching out different videos yielded a large variety of effects.

i did a lil’ write up on the experiment and posted the source
julapy.com/blog/2008/08/26/ribbons-video-texturing/

Cast: julaps


cp

cp

Shuttering fractal .
2 loops

Cast: 斑鳩

moonstuart
youtube.com

boidSong by moonstuart

boidSong by moonstuart presented at The Front Cafe and Gallery, Lyneham, 20-25th August 2008 as part of the “Inspired” exhibition for Australian National Science Week.

Author: moonstuart
Keywords: boidSong moonstuart processing.org
Added: August 23, 2008


Super8 moiré tracks

Super8 moiré tracks

I just got the line patterns transfered to super8 film, and started testing some moiré overlaping this afternoon.

Sorry for the awful framing. I did all the recording / operation by myself, and the tripod was right between me and the projectors. =T

Previous (video) version: vimeo.com/1481659

Cast: b2kn


Compression Depression

At work I’ve been coming up with a new method of managing monsters by giving them a Logo style script. It’s a list of letters followed by numbers. The real tough part was nesting scripts within each other so I can have monsters spawn other monsters. This is tough because I have the new script in between brackets and regex can’t do a balanced search. It’s okay to spawn one monster, but what if that monster wants to spawn as well?

The solution was to match the deepest spawn that wasn’t spawning itself and work back from there. I store that in an array, then replace it with a marker to that point in the array:

var path_string:String = “a bunch of commands go here”
// spawn commands look like: S(monster commands)
const SPAWN_COMMANDS:RegExp = /(?<=S \()[^\(\)]*(?=\))/;
const SPAWN_COMMANDS_REPLACE:RegExp = /S \([^\(\)]*\)/;
var subroutines:Array = new Array();

if (subroutines.length == 0){
// extract spawn instructions and replace with an index to the subroutine list
// matching works from the deepest nest up as the parenthesis is replaced
do{
var spawn:Array = path_string.match(SPAWN_COMMANDS);
if(spawn != null) subroutines = subroutines.concat(spawn);
path_string = path_string.replace(SPAWN_COMMANDS_REPLACE, “S “+(sub_index++));
} while (spawn != null);
}

I then give each spawn a reference to the subroutine array, which means I only have to parse subroutines once and I save on memory. Even if the parent monster is erased, the reference by the spawn to the subroutine array saves it from being garbage collected.

The crazy thing is that the first spawn command will get replaced with “S 1″. If I’m wise to this when I write a monster’s script, I can type “S 1″ any where in the script and it will call that subroutine. Even inside the first spawn’s own script. This means my monsters can recursively generate.

All well and good. But now I have a massive XML full of instructions for every monster. Chris Burt-Brown at work had already opted for an RLE compression method that I’ve also adopted (multiples of the same item you replace with a quantifier and the item), but this isn’t enough for complicated instruction sets. Looking around I found an LZW compression algorithm in AS2. It even produces XML safe output! Problem solved right? Wrong. My level editor uses a javascript method to save the XML that I cribbed from Galasoft. That method only saves ANSI encoded text files. The LZW algorithm produces UTF-8 encoded output. Saving those strings as ANSI destroys all the data. I was lucky enough to find out that Mozilla browsers have the ability save XML with the XMLSerializer method in UTF-8. There’s a thread on the topic here. A quick mod to the Galasoft script and I was home free.

Now if I could figure out how to operate FZip, then I could take the operation further and get more assets within the game packed down to size.

Self Aware Robots (TED talk)
Simplicity Patterns (TED talk)
Big Buck Bunny (Blender made cartoon)
Curved electronic eye created
Double Taker (Golan Levin)
A robot with a biological brain

Alternativa 3D for Flash
AS3 Mouse Gesture class

Peter Kirn
createdigitalmotion.com

VDMX5 VJ App Beta for Mac Chugging Along, Adds New Render Engine

It may be called a beta, but that hasn’t stopped VDMX from being a favorite in big live gigs. Here is powering przemion’s rig in Amsterdam.

VDMX5 may be “perpetually in beta”, but oh, what a beta it is. The latest version includes some major breakthroughs, a new render engine, lots of new features — and significant signs that VDMX may be nearing its milestone non-beta release. And don’t bother mentioning the “beta” status to the many people for whom this insanely rich, Mac-only VJ app is the center of live visual sets. VDMX has been rock solid, and keeps getting better.

VDMX5 public beta 6.9.0 now available [Vidvox User Forums]

New in this release:

  • Faster rendering: A new render engine with vastly improved performance - and OpenGL add/over blend modes (”extremely fast,” say Vidvox)
  • Smarter sizing: Smart auto-sizing and syncing size
  • Stills: Better still image / texture support
  • Interactive Web sources: Live use of Flash files and even Web pages (evidently including applets like Processing), with basic interaction
  • Slicker effects: Layer-specific effects preset chains, new delay and RGB delay FX (I always enjoy a little RGB delay), and better effects management

More documentation and improvements are coming, as well.

The render engine is clearly the worthy headline here, but I think people will be very, very excited about including Flash and Processing sketches. I have to give that a try. (CDMotion’s own vade hacked his own solution, routing visuals between apps on Leopard — but, of course, better integration would be great.)

It’s also worth noting that this yet again demonstrates that “native” visual support isn’t always better — that is, OpenGL in this case trumped the Mac-only Core Image for blending modes. Obviously, you use whatever works best, and that is at least in some cases the cross-platform API.

As VDMX plows forward, it’s not alone. Just to mention one rival, previous preview.) Resolume is now on Twitter if you want to stalk — erm, follow — the creators.


Processed-slow dance jump

Processed-slow dance jump

this is created using a processing sketch provided by don whitaker. videoslice. // The sketch takes a Quicktime as input, slices it up, and spits out a transformed version of the source movie.
// Each frame of the processed video is a horizontal stack of a 1 pixel, vertical slices of a video image. The left of the frame is the beginning of the video clip, the right side is the end. The animation effect is created by moving the location of the vertical slice from the left of the original video frame to the right. In effect, swapping time and space. :)
// the input movie is ripped from somewhere at apple.com, displaying a ballet dancer performing a 720° jump in reeeaaally slow motion

Cast: nicolas horne


Eels demo 1

Eels demo 1

This is an ‘early current state of app’ demo for a multi-discipline event I’m working on with Streetwise Opera ( streetwiseopera.org ), Mira Calix ( miracalix.com ) and fellow visualists Flat-e ( flat-e.com ), to be showcased at the Royal Festival Hall later this year with quite a few more venues lined up.

The app was written in Processing 0135 and is running realtime at 60fps, though if I add another couple hundred eels it does drop, so I may switch to OpenFrameworks if performance does become an issue (which it probably will). There are occasional freezes in the video which happened while capturing the screen so that is a bit annoying.

I’m controlling the eels using the mouse, keyboard and Quartz Composer (just simple sliders sending OSC to vary some parameters - similar to the ‘magnetic force fields’ video - I’m quite into this technique now, very quick and easy to setup, and you can have loads of sliders with descriptive names at your disposal to play with, and adjust your internal variables in realtime for tweaking heaven).

The final show will have many many more features, both in the digital realm, and physical… more info coming soon…

memo.tv/eels_demo_1

Cast: Memo Akten

Bryan
bryanchung.net

Gesture Recognition in Processing

Here is an example of using a gesture recognition library in Processing. The Gesture and Activity Recognition Toolkit (GART) is from http://wiki.cc.gatech.edu/ccg/projects/gt2k/gt2k.

It makes use of a Hidden Markov Model toolkit (HTK). Both training and recognition are supported.

In the above example, when you write with your mouse on the canvas, it matches the corresponding digit but it may be too small to be visible in the video.


Gesture Recognition in Processing 1

Gesture Recognition in Processing 1

A very primitive test of using the GART gesture and activity recognition toolkit in Processing.

Cast: Bryan Chung


Focus play with Processing and Sunflow

Focus play with Processing and Sunflow

Hey I played around with the focus feature of the sunflow implementation for processing. The image was from a tutorial. For the code go search here: rudevoltage.ch/index.php?id=70

Cast: icoon


Potemkin Panic! 4 - Free Play

Potemkin Panic! 4 - Free Play

A quick play with Potemkin Panic! 4 arcade machine. The user can mess up with Eisenstein’s most famous work using videogame controllers.

Browse the archives for a video demo of the output. Some stills can be found here: tinyurl.com/kinoarcade

Cast: b2kn


360 Degree Lidar Vision

360 Degree Lidar Vision

Longer and more interesting version of this to come when I figure out how to deal with gigabyte pcap files that cause wireshark to crash on me.

Velodyne needs more than 26 degrees vertical angle of view, because this aspect ratio (14ish to 1) is ridiculous. I’ve cheated and stretched things vertically a little.

This is the ‘velodyne 3′ data set.

Loosely inspired by that Cut Chemist video, vimeo.com/1478602, and panquake from years back…

Music is DoKashiteru 2025 - ccmixter.org/files/DoKashiteru/15738

Cast: binarymillenium

p0lem
youtube.com

Constelacion

Este es mi primer experimento “logrado” con processing, enjoy it.
www.processing.org

Author: p0lem
Keywords: videoart programing processing
Added: August 21, 2008