Main

December 14, 2007

final: compform

final.png

note: to see all my homework/midterm/final for compform- or any other class, click on the menu at left to see the class specific work for each semester.

Using openframeworks with opencv and rtaudio I was interested in creating an alternative interface for visual creations in music and art possibly for performance work 'off the screen'

Here is a screen shot to give you an idea of the final project- I managed to get the audio working by preloading the files, the code then checks the previous pixel against the new pixel for change, if the area has changed, it plays a note- if the area hasn't changed it plays nothing.

I also got it running in a non-pixelated version for cubit (see images below) using finger and blob tracking on a defused illumination screen (eg multitouch), however after spending a lot of time around 8-bit music the last two weeks, I wanted to create something that was more a tribute to raw data and blown pixels.. thus my final was born.

I am really happy with the end result and am hoping to show it at the next blip fest in 2008.


December 06, 2007

success!


progress on the application!

its now running on the multitouch display, now I just have got to get the damn octave ranges or sounds 'tuned'.

video of current process to follow

November 26, 2007

week 10- thanksgiving

wahooo!

finger tracking and contour tracking is working

using proximity and assigning ids to fingers, in the .h, I figure out the 'error' for all blobs in current frame and error is then defined as the distance between the current frame blobs and the last frame. I found that simply optimizing for the least change in distance allowed for fastest and cleanest tracking without lag.

By generating a matrix of all the possible points, e.g. if we know there are four points last frame and 6 points this frame, then 2 id's will be -1 and can calculate the error and pick up the matric that has the lowest error, the more points the slower this seems to be :(

Awesomely enough there aren't usually many points to deal with, and to rememdy the cpu time that grows with higher numbers of points, i can assume that the chosen ID is from one of the top 4 closest points.

more to come.

November 25, 2007

compform final presentation

Picture 4.png


For my compform final project I am working with OpenCV , OpenFramworks and multitouch hardware (hardware developed with Stefan H).

I am interested in the intersections of sound, cv and touch to create alternative interfaces for visual creations in music and dynamic art.

Here is a screen shot to give you a rough idea of a mid way point (using the isight camera, you can see my face).

Mapping the pitch to the coordinates of fingers on the display allows the user to play higher notes higher up from the 0,0 origin and closer to the origin, lower notes. Ultimately it will, in theory, work like a small piano or keyboard with a few octave ranges or tone ranges.

November 15, 2007

week 9

Picture 2a.png

Picture 3a.png

Picture 4a.png

Picture 5a.png


Continue reading "week 9" »

week 9- working on the final

heres the finger tracking on the multitouch working, notice it recognizes the finger as a vector not a pointer! woot!

anyhow, more to come. code isn't open yet, but working with Zach Libermann at the moment to get some applications OS on OpenFrameworks

November 07, 2007

week 8


(I am quite proud of my alpha on the sides of the mnt)


multiple vertical distortions


waves in two directions on x/z axis

Continue reading "week 8" »

November 01, 2007

homework.. week um..

part 1:
Picture 1.png

part 2:

Picture 2.png

and I also managed to get my original idea for the midterm project running, although I found the lines were too complex for the eye to follow so I reworked the UI a bit and went with a more easy to 'read' piece.

On the y-axis you see a collection of tangible information (date, gender and value) some of the information was estimated based on other information found about similar works by the same artist, regardless you can compare dynamically different art works, by moving them closer to other pieces you can see how high different values are in comparison to their neighbors.

I'm interested in mapping this information dynamically in some sort of UI. Ideally so that anyone can manage a large collection as if to curate an entire museum . . . on their own terms.

here is a movie to give you an idea of how it works-- code is also provided behind the cut..


you can also see it here if the above embedding doesn't play nice.

Continue reading "homework.. week um.." »

October 26, 2007

midterm

midterm compform

The radius of the circle is determined by the last mouse position. The stroke is drawn around the radius of circle with the radius center being determined with the mousedown.


if you want to see the code, you'll have to ask nicely.


October 20, 2007

a. 6.0

we decided to calculate intersection points and use the light sensor on the laptop to create another set of parameters which to control the stroke opacity with.

code is below cut

Continue reading "a. 6.0" »

October 18, 2007

compform brushes

Computer art software/tools are for the most part locked into the process of simulating fine art mediums in the physical world. The pen tool, the brush tool... With computers, we are working within a new set of boundaries. Let's invent our own tools, adjust their properties and then use them, in a limitless space. The relationship between the artist and their piece is no longer bound by physical space. Can navigate dimension, light, perspective. Hand eye coordination is no longer a limitation.


October 13, 2007

assignment 5

fun with openGL and drawstroke.


midterm update coming soon.

code behind cut, yo.

Continue reading "assignment 5" »

October 05, 2007

nurbs and opennurbs, part deux.

they're tricky little things aren't they?

hopefully now that we got rhino and openframeworks talking nicely with the nurbs, we can get some fabricating done.

midterm idea: harvesting and visulization of data

the project was initially inspired by the S. Hattar matrix "melanopsin and rodcone photorecptive system accounts for all major accessory visual functions in mice" in Edward Tufte's beautiful evidence on the bottom of page 55.

This is my first experimentation in visualization of data, I'm interested in how we can take large amounts of information and arrange it in a simple visually compelling way.

On the y-axis you see a collection of tangible information (date, gender, medium, press about artist, size and value) or subjective measurements (hype: amount of information about the piece was found online, iconic: how much is it suggestive of certain periods, artist or signature works, mood: what sort of mood do i feel this piece exudes). Some pieces lacked some of the information, and in that case the point was not graphed (most obviously seen in value as many only said 'price by request') some of the information was estimated based on other information found about similar works by the same artist.

Pieces are visually shown and grouped by color undertones (cold, warm, neutral) at the top, the channels color on the graph were selected by attempting to pull a predominate color out of the selected piece. I curated the collection by pulling images I felt most drawn too. I was interested in seeing if there was a pattern to the collection I was curating. For instance: was I drawn to mostly male or female artist? Did I prefer dark, neutral or happier work? How often did I pick ceramics over steel or paper?

I'm interested in mapping this information dynamically in some sort of UI. Ideally so that anyone can manage a large collection as if to curate an entire museum . . . on their own terms.

The project will be written in C++ using OpenFrameworks with the help of ImageWidget.

heres one of my ideas:

September 27, 2007

nurbs and opennurbs, part 1.

our first attempt at using nurbs, needless to say we got in a little over our heads.. we used CGAL again.


see our pretty code behind the cut.

Continue reading "nurbs and opennurbs, part 1." »

September 21, 2007

a clock

Each clock represents the hours, minutes and seconds (from left to right) which then change the vector field from where stream lines are being drawn, the CGAL lib was used to calculate the lines and we developed the app in openFrameworks + OpenGL

code is below, after the cut.

Continue reading "a clock" »

September 12, 2007

Polygons in OpenGL

This this application the user can capture an image from their isight and with the click of a mouse can draw a vertex from the current mouse lcoation. The area is then filled with pink, any concave polygon can be used and is partitioned into a convex polygon.

click below to see our code:

Continue reading "Polygons in OpenGL" »