Archive for the 'WIP' Category

Mars Global Surveyor: MEGDR Viewer // ver B

Monday, May 26th, 2008

My Mars topography mine Their Mars topography theirs
download the sketch folder—view the code

How do you use it?
You have to tinker directly with the code to make this do anything.
This one doesn’t run in continuous mode and it isn’t interactive so there is no link to run it in the browser. Also, it processes a 2MB data file so it would be ridiculously slow to download an run it as an applet.

What is it?
As I mentioned yesterday, I’m geeking-out about Mars right now. I was surfing around some NASA and JPL web sites looking for more digital elevation maps and found a lot of data from the Mars Orbiter Laser Altimeter. This is an instrument on the Mars Global Surveyor craft that mapped the Red Planet from 1999 to 2006. Unlike the false-color topographic map I used in yesterday’s sketch, these new files I found are NOT images. They are data files that need to be rendered into images with special visualization software. Unfortunately—or perhaps, fortunately—I couldn’t find an OS X version of any of these software packages. So I thought (encouraged by Ben Fry’s Visualizing Data book), “I bet I can write something in Processing that could view these files.” Well, it’s been a long night, I’m not sure exactly how it works, and it sure ain’t perfect, but I’ve got something. The sketch reads the altitude data from the .img files, parses that into the pixel array and displays the resulting image.

If you run this yourself, be prepared, the image size is 1440 x 720 pixels.

Why is it cool?
There are so many reasons… but one thing that really shocked me is that it’s only 9 lines of code.

Dynamic Mask // ver A

Wednesday, May 21st, 2008

run the sketch—view the code

How do you use it?
If it worked, you would just move the mouse around.

What is it?
The intent is to make an interactive, dynamic image mask (like a “spotlight” effect). The mask method requires either an grayscale image file or an integer array containing the pixel gray values to be used for the mask. My idea is to update the pixels[] array of the mask image each time draw() loops.

kindaPong // 4 mobile

Sunday, April 13th, 2008

run the sketch—view the code

How do you use it?
Move the mouse left and right to catch  the ball. Press “a” to accelerate the ball, press “d” to decelerate the ball.

What is it?
A revision of the sketch from March 24th. I am developing this as a mobile app, so there were a few revisions I had to make to prepare the code. For example, using integer math instead of floats. And I worked out a couple of bugs. See the documentation in the code for full details.

kindaPong // ver a

Monday, March 24th, 2008

run the sketch—view the code

How do you use it?
Move the mouse left and right.

What is it?
Actually, this was inspired by my Bounce Game. I’m prototyping it in Processing with hopes of bringing it back to Mobile Processing so you can play it on your phone, too.

Why is it cool?
You tell me…

pictureTube trials

Friday, March 14th, 2008

pictureTube_0 _pictureTube_a _pictureTube_b _pictureTube_c
_pictureTube_d1 pictureTube_d2 pictureTube_d3 pictureTube_d4
(click each image to run the sketch that generated it)
How do you use them?
Move the mouse around to change the orientation of the structures.

What are they?
Attempts at constructing a cylinder out of a JPG. They are presented chronologically, left to right, top to bottom.

Why are they cool?
I don’t remember where the idea came from, but I thought it would be pretty quick and easy to turn an image into a cylinder. Just grab a pixel’s color from the image array, translate out, draw a square, translate back in, rotate and repeat. Well… it took a few more attempts than I expected. But along the way—as frustrating as it was—the program generated some pretty interesting results. I decided to save the “failures” because they A) look pretty cool, and B) reveal a lot about the program’s flow through loops and moving about in 3D space.

This is the source image:
pictureTube image

anaLog Clock

Tuesday, March 11th, 2008

run the sketch—view the code

How do you use it?
Just watch… and learn from the code.
What is it?
I’m having trouble getting the analog hands of the digiLog clock to be synched with the actual time. I thought it might be easier to get the mechanism for that working by itself so I put this together. Since it’s not cluttered with all of the font and 3-D code necessary for the wheels, this sketch helped me figure out how to get the hour, minute, and second hands working.
Why is it cool?
For those of you learning Processing or learning to program in general, this is trouble-shooting and debugging in action.

digiLog Clock // ver A

Monday, March 10th, 2008

_20080310_digiLog_clock_a <-- _20080308_typeWheel_C
run the sketch—view the code

How do you use it?
Move your mouse left and right to spin the clock.
(I know it’s not quite working correctly, but the concept is here.)

What is it?
As I was working on the typeWheel with the axes turned on, it struck me that they looked a bit like the hands of a clock. I suddenly flashed-back to the Processing workshop I took at MCAD (with Ben Fry and Casey Reas themselves!) where we were given the assignment to create a sketch that visually represented the passage of time. Only one person in the class was smart(ass) enough to create an actual clock. For most of my art career I have been obsessed with visualizing—or in other ways making palpable—that invisible 4th dimension.

Why is it cool?
I can’t put it into words yet…