« June 2007 | Main | October 2007 »

September 28, 2007

homework-03

Problem 1 ::
waves1.jpg
waves1_code.jpg

see video-screenshot ( waves1 ) :: (2.2Mb)





Problem 2 ::
ekg2.jpg
EKG_code.jpg

see video-screenshot ( EKG ) - interactive version = mouseX and mouseY control the high and low frequencies used in the modulation :: (13Mb)






Problem 3 ::
daisy.jpg
daisy_code.jpg

see video-screenshot ( daisy ) - interactive version = mouseX controls number of petals drawn :: (6.8Mb)






Problem 4 ::
gear.jpg
gear-code.jpg





Problem 5::
drawWobbly.jpg
drawWobbly-code.jpg

see video-screenshot ( wobbly ) :: (3.3Mb)



Problem :: 06
.. work in progress...





Problem :: 07

while building a funstion do build spiral grafx and experimenting with modulation possibilities of that same spiral line with sine waves and got to this interactive version of my personal expression.
MouseX and MouseY coords are used to control the number of points and increment values in the modulation and drawing of the spiral.

mypersonalshape-.jpgmypersonalshape-2.jpg
mypersonalshape-3.jpgmypersonalshape-4.jpg
mypersonalshape-5.jpgmypersonalshape-6.jpg
mypersonalshape-7.jpgmypersonalshape-8.jpg
mypersonalshape-code.jpg

see video-screenshot ( myfavoriteshape )- interactive version = mouseX controls number of points / mouseY controls modulation increments :: (21Mb)

homework-02

Problem 01 ::
vec2d-class.jpg



Problem 02 ::
a>
drawManyCircles-.jpg
drawManyCircles-code.jpg


b>
drawManyPolys-.jpg
drawManyPolys-code.jpg




Problem 03::
drawManyOvals.jpg
drawManyOvals-code.jpg

September 25, 2007

performance inspirations - part2

performances::
Radioboy, Mathew Herbert's live sampling exploitation of objects and materials.

radioboy-live.jpg

Ryuchi Sakamoto and Alva Noto's minimalist approach with Dienststelle video creating a tight scenic and sinaethetic environments ::

Tablas and other percussive instruments = When one sees the instrument manipulation there's a direct relationship with the sound produced and its expressiveness.
the instrument (interface) actions mirror the (narrative/emotional) events of the performance.

T.H. Vikku Vinayakram Gattam tabla solo



In a more visual approach to the interface creating a more dense and close audiovisual and sinaesthetic performance, Golan Levin's 'Scraplle' performance and interface totally merge into one absolut piece - the actions and results become one.

Scrapple installation at Ars Electronica Center

Scrapple performance at Monkey Town support party - club Europa

Scrapple at OFFF2006 - Barcelona

Scrapple installation Demo - 2005

motivations::
>> as i've never been a musician and never learned how to properly play and merge with a musical instrument, many times i imagined i was manipulating the whole set of sound producing objects and machinery that produced the musics/songs i was hearing and excited by. with my body gestures and my mind i tried to express the nature of sound, its rhythms though i've never played drums, solos came out of my fingers that never touched guitar strings. I'd like to create an interface where the gesture expresses the emotion and nature of sound. I'd like to explore not only the expressiveness of the produced sounds through gestures but also using objects constraints and inner nature.

\\ thinking about...

>> sinaesthetic performance and explorative attitude towards the instruments and sounds: relationships between the plastic nature of sound (what kind of sound, what it sounds like), the technical aspects of it (how it is created/produced) and the interface as a tool for visualization.

>>sound spatialization (in a physicall space) and sound events visualization (in the interface) - spatial relationships

>> exploration of percussion and sequencing in a spatial approach. creation of new sounds - synthetic - and relationships with the actions that produce them.


>> not only percussion (tablas, drums) but also sequencing of events(beats/sounds) ad relationships with traditional and modern(electronic) interfaces (refs:: drums, tabla and more membranophones,.. 303, cmm / animation music machine and timeline interfaces)


>>music animation machine (MAM) and the birth of piano roll interfacing::

MAM on Atari

September 24, 2007

memory-narrative-map //post-mortem

two kids play cowboys and indians. parades of clouds bring wild animals into our horizon: a lion jumps and i shoot my gun as fast as i can! the stigmata of the lousy pointing guns makes my bullet wonder through the slow moving air and makes me miss the dreadful lions and buffalos and hit my indian partner.
blood spills in-between his eagle feathers: scare, sadness and regret melt me in tears while few stiches sore his wounds. The huge chocolate bar - hidden on the top of the mountains of my parents closet - suddenly appear like a mirage to more suddenly disappear in the wounded indian mouth. He kept being an indian, i threw my hat on the dust, dropped my guns and found wrecked space ships a step away from the prairie.


analytical-isms::
//
there is a concern with spatial locations and relationship between characters - the events unravel themselves in a circular motion with the character always facing themselves.
the spatial placement/displacement also tries to reveal the different sets (even if not much explicitly).
I tried to create a sense of a motion through the navigation through the different events and locations.
//
my character has eyes, the other character not: the story is being told the way i saw it, as i sort of remember or recreate it in my mind. I can't access the other character memory, nor his vision of the events.
//
there are no explicit auxiliary or supplementary events. this is a very short and simple story based on the sequencing of constituent events.

September 19, 2007

performance inspirations... . . .

It is very hard for me to choose one amongst all the musical inspirations in my life. I could say i'd love to make intricate and de-constructive music as good as AphexTwin, swinging with groove of Sonny Rollins or Thelonious Monk, mind wondering and travelling as far as F.S.O.L. , Andrew Weatherall or William Orbit.
The pop component would need to be present, Bowie's Low or Hunky Dory would be a good insight as also as Raymond Scott's Cindy Electronium or Cylob or AAKurtz or Yellow Magic Orchestra or... . .
End, Luke Vibert, Cycheouts Ghost and many other make me dance with their breaks; Luke Slater, Carl Craig and many other make dane to the rythm of their beats.
Dev//Null, Terminal11, Jason Forrest, Aaron Spectre and/or Mochipet I admire (not only!) for their innovation, creative mash and ultra-sampling revolutionary techniques.
Wisp, SquarePusher, Joseph Nothing, Nathan Fake and many others with their lyricism and storytelling sonic adventures... . .... . . ..

and , yes, I can keep on shouting names of all these magicians that make my body and mind tremble, jump travel, die and reborn, but, no, I don't (and I don't think I'll ever be able) to make music like theirs.
All the music I listen to has something (or many things) that inspires me but I also feel it very much as part of that artist's work and life.

As a performer I'd love to be free and have full control. In my perspective both things are inseparable:
to be free and be able to jam and improvise, one needs to be in full control of their instrument/interface and know its full capabilities.

here are some clips of performances that inspire for one or other thing::
squarepusher

raymond scott

aphex twin

sonny rollins

dev//null

cycheouts

fsol

sabres

cylob

wisp

joseph nothing

YMO

bowie

mochipet

terminal11

luke vibert

jason forrest / donna summer

September 17, 2007

memory-narrative-map

memory-narrative-map.jpg

what's the story morning glory..?

September 14, 2007

homework-01

Problem 1. Write a comment for every line in the main.cpp file.

/*
 *  main.cpp  - commented
 *  CompFormApp
 *
 */

#include < OpenGL/gl.h > //include openGLlibrary in project
#include < GLUT/glut.h > //include GL Utility Toolkit in project
#include < stdio.h > //include standard input and output (mouse and keyboard)
#include < stdlib.h > //include (other?) C library for system calls in project
#include < math.h > //include Math library in project

float mouseX = 0; // define variables to store mouse coordinates - x,y
float mouseY = 0;
int windowW = 800; // define variables for window - width and height
int windowH = 600;

#define PI 3.14159265358979


void displayFunc ( void ) //display contents/re-draw function
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); //clear screen =
//color and depth buffers

glColor3f( 1,0,0 ); //define color used
glRectf( mouseX-5, mouseY-5, mouseX+5, mouseY+5 ); //create rectangle with coords
//relative to mouse location

// place your drawing code here


glutPostRedisplay(); // redraw
glutSwapBuffers(); // swap buffers (remember that the program is double-buffering =
// draws offscreen and then switches buffers - sends image to screen)
}


void reshapeFunc ( int w, int h ) //function called when the window is resized or moved
{
windowW = w;
windowH = h;

//setting the camera
glViewport( 0, 0, w, h ); // whatever it's been drawing it is in this window size
glMatrixMode( GL_PROJECTION ); //how the camera operates
glLoadIdentity(); // ??
gluOrtho2D( 0,w,0,h ); // camera - mode/perpective

glMatrixMode( GL_MODELVIEW ); //drawing space
glLoadIdentity(); // ??
}

void mouseDownFunc ( int button, int state, int x, int y ) //mouse down capture function
{
mouseX = x;
mouseY = windowH - y;
}


void mouseMoveFunc ( int x, int y ) //mouse movement data capture function
{
mouseX = x;
mouseY = windowH - y;
}


void mouseDragFunc ( int x, int y ) //mouse drag data capture function
{
mouseX = x;
mouseY = windowH - y;
}


void keyboardFunc ( unsigned char key, int x, int y ) //keyboard data capture function
{
}


void arrowKeyFunc ( int a_keys, int x, int y ) //arrow keys data capture function
{
}


void init ( GLvoid )
{
glShadeModel( GL_SMOOTH );
// type of color shading = flat or smooth
glClearColor( 1.0, 1.0, 1.0, 1.0 );
// define color used to clear screen
glEnable ( GL_COLOR_MATERIAL );
// enable
glEnable( GL_BLEND );
// enable blending
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
//blend alpha source with ??
}


int main ( int argc, char** argv )
{
glutInit( &argc, argv ); //initialize glut library

glutInitDisplayMode( GLUT_RGBA | GLUT_DOUBLE );
// define display mode (RGBA or Color Index)
// - single or double buffered
glutInitWindowSize( windowW, windowH );
// define window size
glutCreateWindow( "CompFormApp" );
// create window - string is used as name in the title
glutDisplayFunc( displayFunc );
// function called to redraw contents
glutReshapeFunc( reshapeFunc );
// function called for resizing and moving windows
glutMouseFunc( mouseDownFunc );
// function called when the mouse button is pressed
glutMotionFunc( mouseDragFunc );
// function called when the mouse is dragged
glutPassiveMotionFunc( mouseMoveFunc );
// function called when the mouse moves
glutKeyboardFunc( keyboardFunc );
// function called when a key is pressed
glutSpecialFunc( arrowKeyFunc );
// function called when an arrow key is pressed
init();
// function called for intialization routines

glutMainLoop( );
//main loop - where everything is called from - rendering

return 0;
// C requires main to return an int
}


Problem 2. A Portrait.
a. Make a function called drawPortrait that is called from displayFunc. Draw the shape of your head in profile. Use GL_TRIANGLE_FAN. The portrait should be as accurate as possible and involve at least 30 points. Carefully place the first point to ensure a proper fill.
b. Draw the shape of an eye from the front. Use GL_TRIANGLE_STRIP.
c. Draw your initials as stroked lines with a thicknes of 3 pixels. Use GL_LINE_STRIP.

portrait.jpg


void drawPortrait(void)
{

glColor3f( 0,0.85,0.85 );

glRectf( mouseX-5, mouseY-5, mouseX+5, mouseY+5 ); //drawing square - 2 sets of coordinates
// = e.g. upper left + opposite vertex ( !!not coordinates + size!!)

glColor3f( 0.94, 0.8,0.7 ); // set color RGB (use glColor4f for RGBA) = skin face color

//glPolygonMode(GL_FRONT, GL_LINE);

glBegin( GL_TRIANGLE_FAN);
glVertex2f( 400,250);
glVertex2f( 490,0);
glVertex2f( 490,90);
glVertex2f( 510,100);
glVertex2f( 600,100);
glVertex2f( 640,145);
glVertex2f( 640,175);
glVertex2f( 645,200);
glVertex2f( 640,210);
glVertex2f( 610,220); //boca
glVertex2f( 645,230);
glVertex2f( 642,265);
glVertex2f( 687,280); //ponta do nariz
glVertex2f( 595,395);
glVertex2f( 595,410); //sobrolho
glVertex2f( 582,495);
glVertex2f( 547,520);
glVertex2f( 500,525);

glVertex2f( 450,525);
glVertex2f( 400,515);
glVertex2f( 350, 500);
glVertex2f( 300, 480);
glVertex2f( 270, 445);
glVertex2f( 250, 390);
glVertex2f( 250, 310);

glVertex2f( 290, 220); //nuca
glVertex2f( 338, 150);
glVertex2f( 358, 100);

glVertex2f( 350, 0);
glVertex2f( 490,0);
glEnd();

//OLHO
glColor3f( 1.0, 1.0,1.0 ); // set color RGB (use glColor4f for RGBA) = skin face color

glBegin( GL_POLYGON);
glVertex2f( 590,390);
glVertex2f( 560,380);
glVertex2f( 590,360);
glVertex2f( 595,375);
glVertex2f( 590,390);
glEnd();


//OLHO FRONT

glColor3f(0.20, 0.19, 0.18);
glBegin( GL_TRIANGLE_STRIP);
glVertex2f( 55, 115 );
glVertex2f( 65, 110 );

glVertex2f( 70, 130 );
glVertex2f( 100, 135 );

glVertex2f( 120, 150 );
glVertex2f( 140, 145 );

glVertex2f( 150, 155 );
glVertex2f( 170, 145 );

glVertex2f( 180, 150 );
glVertex2f( 200, 135 );

glVertex2f( 210, 140 );
glVertex2f( 230, 120 );

glVertex2f( 240, 120 );
glVertex2f( 250, 110 );

glVertex2f( 260, 110 );

glVertex2f( 250, 100);
glVertex2f( 240, 100);

glVertex2f( 240, 90 );
glVertex2f( 220, 85 );

glVertex2f( 210, 70 );
glVertex2f( 190, 75 );

glVertex2f( 170, 65 );
glVertex2f( 150, 75 );

glVertex2f( 120, 70 );
glVertex2f( 100, 85 );

glVertex2f( 80, 90 );
glVertex2f( 75, 105 );

glVertex2f( 60, 110 );

glVertex2f( 55, 115 );

glEnd();

// Rux
//r

glLineWidth(5.0);
glLineStipple(1, 0x1c47);
glEnable(GL_LINE_STIPPLE);

glBegin( GL_LINE_STRIP);
glVertex2f (relativeX, relativeY+15);
glVertex2f (relativeX+60, relativeY+15);
glEnd();

glBegin( GL_LINE_STRIP);
glVertex2f (relativeX+15, relativeY+15);
glVertex2f (relativeX, relativeY+30);
glVertex2f (relativeX, relativeY+45);
glVertex2f (relativeX+15, relativeY+60);
glEnd();

//u
glBegin( GL_LINE_STRIP);
glVertex2f (relativeX, relativeY+75);
glVertex2f (relativeX+60, relativeY+75);
glEnd();

glBegin( GL_LINE_STRIP);
glVertex2f (relativeX+45, relativeY+75);
glVertex2f (relativeX+60, relativeY+90);
glVertex2f (relativeX+60, relativeY+120);
glVertex2f (relativeX, relativeY+120);
glEnd();

//x
glBegin( GL_LINE_STRIP);
glVertex2f (relativeX+60, relativeY+135);
glVertex2f (relativeX, relativeY+180);
glEnd();

glBegin( GL_LINE_STRIP);
glVertex2f (relativeX, relativeY+135);
glVertex2f (relativeX+60, relativeY+180);
glEnd();


}


Problem 3. A Landscape.
a. Make a function called drawLanscape that is called from displayFunc. Draw two gradients, one for the sky and one for the ground. The sky and ground together should fill the window. Use GL_QUADS.
b. Draws a small mountain range. The mountain range should grow vertically with the Y position of the mouse. Use GL_TRIANGLES.
c. Draw a cloud. The cloud's transparency should depend on the mouse X position. Use GL_TRIANGLE_FAN.
d. Draw a winding river. The river's width should expand as the mouse moves left and right. Use GL_TRIANGLE_STRIP.

landscape.jpg


void drawLandscape(void)
{

glColor3f( 0,0.85,0.85 ); // set color RGB (use glColor4f for RGBA)

glRectf( mouseX-5, mouseY-5, mouseX+5, mouseY+5 ); //drawing square - 2 sets of coordinates
// = e.g. upper left + opposite vertex ( !!not coordinates + size!!)

// glPolygonMode(GL_BACK, GL_LINE);

glColor3f( 0.94, 0.8,0.7 ); // set color RGB (use glColor4f for RGBA) = skin face color
//LAND
glBegin(GL_QUADS);
glColor3f( 0.6, 1.0, 0.38 );
glVertex3f(0, 0, 0);
glVertex3f(800, 0, 0);
glColor3f( 0.12, 0.28, 0.07 );
glVertex3f(800, 400, 0);
glVertex3f(0, 400, 0);
glEnd();

//SKY
glColor3f( 0.76,0.85,0.85 );

glBegin(GL_QUADS);
glColor3f( 0.76, 0.93, 1.0 );
glVertex3f(0, 300, 0);
glVertex3f(800, 300, 0);
glColor3f( 0.12, 0.36, 0.9 );
glVertex3f(800, 600, 0);
glVertex3f(0, 600, 0);
glEnd();

//MOUNTAINS

glBegin(GL_TRIANGLES);
glColor3f( 1, 1, 1 );
glVertex2f( 170, mouseY-20 );
glColor3f( 0.28, 0.52, 0.17 );
glVertex2f( 100, 270);
glVertex2f( 240, 270);
glEnd();

glBegin(GL_TRIANGLES);
glColor3f( 1, 1, 1 );
glVertex2f( 270, mouseY+10 );
glColor3f( 0.28, 0.52, 0.17 );
glVertex2f( 200, 270);
glVertex2f( 340, 270);
glEnd();

glBegin(GL_TRIANGLES);
glColor3f( 1, 1, 1 );
glVertex2f( 240, mouseY-70 );
glColor3f( 0.28, 0.52, 0.17 );
glVertex2f( 190, 270);
glVertex2f( 300, 270);
glEnd();

glBegin(GL_TRIANGLES);
glColor3f( 1, 1, 1 );
glVertex2f( 200, mouseY-100 );
glColor3f( 0.28, 0.52, 0.17 );
glVertex2f( 150, 270);
glVertex2f( 260, 270);
glEnd();

glBegin(GL_TRIANGLES);
glColor3f( 1, 1, 1 );
glVertex2f( 310, mouseY-120 );
glColor3f( 0.28, 0.52, 0.17 );
glVertex2f( 200, 270);
glVertex2f( 400, 270);
glEnd();

//CLOUD
glBegin(GL_TRIANGLE_FAN);
glColor4f( 1, 1, 1, mouseX/1000 );
glVertex2f(relativecX+100,relativecY+30);
glColor4f( 0.78, 0.78, 0.88, mouseX/1000 );
glVertex2f(relativecX+20,relativecY+10);
glVertex2f(relativecX+10,relativecY+20);
glVertex2f(relativecX+10,relativecY+30);
glVertex2f(relativecX+20,relativecY+40);
glVertex2f(relativecX+30,relativecY+40);
glVertex2f(relativecX+40,relativecY+50);
glVertex2f(relativecX+50,relativecY+50);
glVertex2f(relativecX+60,relativecY+60);
glVertex2f(relativecX+80,relativecY+60);
glVertex2f(relativecX+90,relativecY+50);
glVertex2f(relativecX+100,relativecY+50);
glVertex2f(relativecX+110,relativecY+60);
glVertex2f(relativecX+120,relativecY+60);
glVertex2f(relativecX+130,relativecY+50);
glVertex2f(relativecX+140,relativecY+50);
glVertex2f(relativecX+150,relativecY+40);
glVertex2f(relativecX+150,relativecY+30);
glVertex2f(relativecX+130,relativecY+10);
glVertex2f(relativecX+20,relativecY+10);
glEnd();



//RIVEEER

glBegin(GL_TRIANGLE_STRIP);
glColor3f(0,0,0.3);
glVertex2f(725-(mouseX/100),300);
glVertex2f(750+(mouseX/100),300);
glVertex2f(725+(mouseX/100),275);
glVertex2f(700-(mouseX/100),275);
glVertex2f(700+(mouseX/100),250);
glColor3f(0,0,0.5);
glVertex2f(675-(mouseX/100),275);
glVertex2f(700+(mouseX/100),225);
glVertex2f(625-(mouseX/100),225);
glVertex2f(650+(mouseX/100),175);
glColor3f(0.1,0.2,0.5);
glVertex2f(600-(mouseX/100),225);
glVertex2f(650+(mouseX/100),150);
glVertex2f(575-(mouseX/100),200);
glVertex2f(625+(mouseX/100),100);
glVertex2f(575-(mouseX/100),175);
glVertex2f(600+(mouseX/100),75);
glVertex2f(550-(mouseX/100),150);
glColor3f(0.3,0.4,0.8);
glVertex2f(575+(mouseX/100),75);
glVertex2f(525-(mouseX/100),150);
glVertex2f(525+(mouseX/100),25);
glColor3f(0.4,0.6,0.9);
glVertex2f(475-(mouseX/100),125);
glVertex2f(525+(mouseX/100),0);
glVertex2f(350-(mouseX/100), 0);

glEnd();

}

Problem 4. A Grid.
a. Make a function called drawGrid that draws a grid across the entire window with lines that are spaced 10 pixels apart both horizontally and vertically. Make the color of the grid a very light gray. Use GL_LINES.
b. Draw a dark gray 3 pixel point at ever grid intersection. Use GL_POINTS.

grid.jpg


void drawGrid(void)
{

//glColor3f( 0.5,0.5,0.5 );

for(int i=0; i< windowW+1; i+=10)
{
glBegin(GL_LINES);
glColor3f( 0.8,0.8,0.8 );
glVertex2f(i,0);
glVertex2f(i,windowH);

for(int j=0; j< windowH+1; j+=10)
{
glVertex2f(0,j);
glVertex2f(windowW,j);

}
glEnd();
}

for(int i =0; i {
for (int j=0; j {
glPointSize(3.0);
glBegin(GL_POINTS);

glColor3f(0.3,0.3,0.3);
glVertex2f(i,j);
glEnd();
}
}
}

September 11, 2007

music = life

when we hear music::
>to kill time (in queues in the post office, waiting for someone) :: we do not only listen to but we make music too. we sometimes unconsciously start tapping on something or ourselves and as soon as we notice music is being made, rhythms flow out of our gestures into our body and the closest objects.

>in the gym / physical works :: musical rhythmic structures help and enforce rhythmic body work. beware the music selection..

>cooking/relaxing/reading :: multi-sensory stimulation doesn't mean data overflow! while doing several relaxing/enjoyable tasks using multi-sensory stimulation will potentiate the desired effects (e.g. relaxing while hearing music, reading/cooking and tasting a good wine?!).

>while travelling (by car, train, airplane...), is the transportation experience stimulated when combined with music? Is this situation prolific to musical escapism and mind wondering?
>there's something about combining a soundtrack to our pleasure moments. a tendency in creating an association between the moment and musical experience.

>music as a tool to time travel, some times music is experienced whith such passion that ca create timstamps. later in the future listening to that music can take us back in time.

why do we listen to music in the train, while shopping or in the streets? are we only entertaining ourselves or are we searching other landscapes to run away to?

music + escapism = hedonism ?!


=====

off-topic but...

playlists = long are the times that playlists filed a k-7 tape, recordings lasted 60-90 mins, a few dozens of songs carefully selected and mindfully sequenced a piece of magnetic tape. nowadays with digital formats and hd-based players, playlists become a huge collection of albums, the building proccess jumped from a music-by-music selection to data-dumpsters of whole albums, disregarding the individual musics and album construction to a whole piece. The lack of time in our lives and the digital technology also brought us the wonder of skipping allowing us to build our selections on the moment.

September 10, 2007

first post - first mess

i have the dream of tasks, to create a gigantic piece of moving grafx in one beautiful building and I have no clue what to do.

what i want/ what i think ::
>use the screen not as center of the interaction but as a reason for people to interact and play with each other.
>it's the most public space in the building and nevertheless it seems a passage way. can it be a community point.
>also as a huge surface it cannot be forgotten its impact in the building and architecture, thus some kind of wallpaper'ish / deco feeling is a possibility to explore.
>interaction with people + integration with architecture = ?
>human input = human confort - integration - ludo/play
>how to capture multiple people interaction, how to do this without taking too much time and attention from them.?!
>or how to create ways for grabing multiple people attention + interaction with the space, architecture and its utility.. how to captivate, what reward?
>is it possible to create narrative? how? depending on the available time form the passers-by can it be created a granular narrative: small pieces of narrative that can be watched individually and connected later on, independently from the viewed pieces and the order they were seen.
>...


what (i think) i don't want::
>random grafx with no interaction
>ads (though its very appealing as a huge interactive window shop!)
>info-data..
>...

if it was mine what would I do.. throwing ideas

>landscape integrator - a landscape machine that creates abstract ambiances simulating landscapes based on the activity in the hall and day-night light - use light sensors on windows (or other possible external environment ambient light location) plus sonar sensors distributed along the projection screens to create stripes of interaction. Each stripe (sonar + light sensor) controls the correspondent screen area, nevertheless sensor data should be normalized and softened for a better integration between different interaction stripes.
(edit:// will abstract grafx lead to detachment from the real-space?..)

>message poster, users can post messages through their cellphone. received messages will be launched into the all-the-others-messages universe. messages will be floating in an ethereal mass creating connections between its words and meanings. flying like free birds in the sky. from time to time the flock reagrups itself based on words and their relationships and flys toward the viewers allowing for a readable view of the message flock and and an inherent meaning.

>the hugest distortion mirror = time remixer mirrors - time blender - capture action and melt it in flows of pixel blobs. Use sensors to detect people proximity to walls to control displacements and distortions

>create a live version of http:415=skin - the skin parasite. - a subversion of surveillance cameras - the program is fed by the skin pixels present in the camera feed.
surveillance affects humans, http:415=skin is a program that only shows human presence on screen through their skin, overlapping constant activity of humans, building a perpetual painting, an amalgamation of skin.

>...


extra tech needs and doubts (so far..) ::

_cameras :: one per screen (?!)- aligned with projection.
(this would require multiple cameras per machine, would processing/java support this? hardware support probably solved by using IIDC cameras.)

_sensors :: possible long distance from sensors to micro controller :: possible use of wireless networking - XBee.. (is it allowed in the building, will there be many interferences?). a low cost solution would be to setup cable connections (how far can we go on this?)

(wip) ...