Litte Pictureframe is Watching You

Nikolaus Gradwohl2011-03-06T04:46:00+00:00

I found a cheap digital picture frame at a local electronics store a while ago and searched a project for it. So i installed 60 jpegs with eyes looking in different directions on the pictureframe and started an endless slideshow. Now the picture frame sits on his shelf and is carefully watching whats going on in our livingroom.

little picture frame

To generate the eyes I wrote a short processing sketch that generates a new frame every time a key is pressed and saves it in the sketchfolder.

void setup() {

float d = random(360);

void draw() {
  ellipse(284, 240, 200, 400);
  ellipse(484, 240, 200, 400);

  float da = d;
  float db = d;

  float a = radians( da );
  float b = radians( db );

  ellipse(284 + cos(a) * 60, 240 + sin(a)*160, 80, 80);
  ellipse(484 + cos(b) * 60, 240 + sin(b)*160, 80, 80);

void keyPressed() {
  d = random(360);
} contains the set of imags I use on my pictureframe

read more ...

how to make a tentacle using processing and toxiclibs

Nikolaus Gradwohl2011-02-23T03:34:29+00:00

the Toxiclibs are a very interesting collection of processing libraries. One of the libraries is called volumeutils and allows to use a volumetric space to model a 3D object.

I used it to generate a tentacle and export it as a stl file to make it printable on my 3D-printer.

click here to see it live or download the source-code

tentacle tentacle 3D printed

In the setup method i define a volumetric space containing 100x100x100 voxel, a iso surface and a Triangle mesh (which is needed to display the object and export it later)

gfx = new ToxiclibsSupport(this);
VolumetricSpace volume = new VolumetricSpaceArray( new Vec3D(100,200,100), 100, 100, 100 );
IsoSurface surface = new ArrayIsoSurface( volume );
mesh = new TriangleMesh();
read more ...

Processing Ebook - beta 2

Nikolaus Gradwohl2011-02-11T11:44:49+00:00

On December 24 I released the first beta version of my Processing Ebook. Now I corrected countless errors and typos, added some of the missing screenshots and started to check all the code examples (special thanx to Ersin Kurun and Dennis Daniels for the corrected and annotated versions).

I uploaded the next beta version to the project page.

Changes I made in this version:

  • corrected countles typos and spelling errors
  • added missing screenshots
  • fixed the code examples in the game chapter
  • removed the "extending" chapter - I think it is to complicated for a beginner. I plan to make a seperate tutorial from this chapter

I'm still not sure about the 3D chapter. Maybe I kick it too in the next version. I'm also planning to support other formates like html, epub, mobi ...

I still would like to receive feedback, hints, annotations, suggestions, ...

read more ...

Lissajous explorer

Nikolaus Gradwohl2011-01-29T07:09:13+00:00

This is a processing sketch to explore lissajous figures. Click on the sketch to change the multiplication factor for sin or cos.

Click here to try it or see the source.

lissajous figure

read more ...

Surface of Revolution in Processing

Nikolaus Gradwohl2011-01-21T05:25:22+00:00

Another simple 3D-Processing-Sketch, this time a surface generated by rotating a square function. I think I will try to print this on my makerbot this weekend.

Click here to see it in action or download the source

square surface

read more ...

sphere spiral in processing

Nikolaus Gradwohl2011-01-09T18:18:12+00:00

This is a little processing sketch featuring a sphere. By moving the mouse it dissolves into a spiral

click here to try it and download the source


read more ...

exploding sphere in processing

Nikolaus Gradwohl2011-01-04T07:47:47+00:00

This is a little processing sketch featuring a sphere. By moving the mouse every second Quad can be moved to another radius.

click here to try it and download the source


read more ...

Processing TTSlib version 0.3 released

Nikolaus Gradwohl2010-12-30T07:46:41+00:00

I just released a new version of my processing freetts wrapper.

In this version the pitch of the voice can be altered by using

tts.setPitch( 1000 ); // set the base frequency to 1000 hertz
tts.setPitchShift( 1.2 ); // how much should the pich change over time?
tts.setPitchRange(100); // in this example the pitch will vary between 1000 and 1100 hertz

Go to the ttslib project page and download a copy. Install as unsual by unzipping it into your sketchbook/libraries Folder.

read more ...

how to use the libfreenect processing wrapper on ubuntu

Nikolaus Gradwohl2010-12-28T05:29:13+00:00

Yesterday I got a Kinect and it worked out of the box with the freenect libs on my linux box and my mac. But the processing-wrappers from daniel shiffman only worked on the mac. Since my linux box has a bit more power than my mac-mini, I started to fiddle around a bit with the source code and - TATAAAA - it run's on my ubuntu box.

To make it run check out the git-repository for libkinect by using 'git clone'

git clone git://

Then build the library using cmake like it's described in the readme

then change to the wrapper/java directory. There you find a small shellscript that compiles the jni- and processing-wrappers. I had to add some include-paths to make the c-compiler find my jni.h and I changed the target system to 32-Bit (by removing the -m64 flag).

On my ubuntu box using the sun jdk the jni.h include-path is this.

-I/usr/lib/jvm/java-6-sun- -I/usr/lib/jvm/java-6-sun-

Then make sure the LIBFREENET_LIBRARY path points to the libfreenect.a file you compiled earlier. If you use a build directory like It's recommendet in the Readme file than don't forget to add it to the path (this took me some time :-/ )

after running the build script install the '' from the processing/distribution folder to your sketchbook/library folder and add the file from the dist directory to sketchbook/libraries/openkinect/library

and than make a symlink from '' to ''

ln -s

freenect processing wrapper

read more ...

Rotating Möbius-Strip in processing

Nikolaus Gradwohl2010-12-27T06:06:07+00:00

This is a rotating 3D Möbius-Strip in processing

Click here to try and download the source


read more ...