2
edits
No edit summary |
No edit summary |
||
(36 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
= | =The Moment= | ||
==Concept== | === Concept === | ||
=== | It would be interesting to explore the wedding culture in west and china in a common space. People will find the difference in the attitude of wedding, the way of wedding and the traditional things. The time schedule is very important in chinese wedding. Since now the chinese wedding has changed a lot with the traditional, but people still observe the time rule from past. People have a strong sense of the ‘Lucky Time’ and ‘Unlucky Time’, as well as for moving, funeral, and other important moments in life. The ‘Lucky Time ’ is calculated from couple’s birthday and chinese calendar.I’d like to document the weddings not only for memory, but also find the different family attitude and the living style. | ||
The | |||
To compare the different time sense in west and chinese wedding via two videos and a interactive installation. Making the video be interated with the audiences, I will make a simply installation for audiences controlling the video like to make the time back. Although they are the looker on wedding, the installation makes them were in the wedding. | |||
I have made two analyses of chinese and west wedding, about the time and flow: | |||
[[File:wedding6.jpg|400px|]] | |||
[[File:wedding2.jpg|400px|]] | |||
===Video=== | |||
The video will be recorded from the different cities(first idea). I already have a wedding shooting of my cousin, who had a wonderful wedding on March 2010. Her wedding was a typical chinese modern wedding, not only had the traditional culture but also had west elements of wedding. | |||
I also want to shoot the west wedding video for the installation, recording the all the process and details. The video won’t be edited very special or romantic, just continued and documentary. The video is the most factually way to react the scenes. I’d like to ask the audience to control the time to react the moment they want. And experiencing two total different weddings in one space. | |||
Below is the example video from Thomas Grill, he did the shooting on August for the Pure Data Convention in Weimar. This video will be only for the test of the installation. | |||
<videoflash type="vimeo">27718339|450|280</videoflash> | |||
[[File:wedding3.jpg|400px|]] | |||
===Clocks=== | ===Clocks=== | ||
I | I'd like to do a clock which could control the clips which have happened. And is related to two different videos and interactive between users. | ||
The first idea is to use a real clock to install with the arduino and potentiemeter, but a touch screen could be better for interface. When audiences touch and move the figure of clock, the video will jumo to the corresponding time of the clock and play automatically. | |||
[[File:wedding9.jpg|400px|]] | |||
===Code=== | |||
'''Arduino''' | |||
<source lang="java"> | |||
//*Arduino, rotary encoder code | |||
// this sketch use the five feet rotary encoder. | |||
// it includes an "endless" potentiometer and a button. | |||
// Encoder hooked up with common to GROUND, | |||
// encoder0PinA to pin 3, encoder0PinB to pin 4(could be exchange depends on the value) | |||
int val; | |||
int encoder0PinA = 3; | |||
int encoder0PinB = 4; | |||
//define encoder0PinA | |||
//define encoder0PinB | |||
int encoder0Pos = 0; | |||
int encoder0PinALast = LOW; | |||
int n = LOW; | |||
int myButtonPin=10; //define button on the encoder | |||
int myLedPin=13; | |||
int myButtonState = 0; | |||
void setup() { | |||
pinMode(myButtonPin, INPUT); | |||
pinMode(myLedPin, OUTPUT); | |||
//setup button | |||
pinMode (encoder0PinA,INPUT); | |||
digitalWrite(encoder0PinA,HIGH); | |||
pinMode (encoder0PinB,INPUT); | |||
digitalWrite(encoder0PinB,HIGH); | |||
Serial.begin (9600); | |||
} | |||
void loop() { | |||
int myButtonState = digitalRead(myButtonPin); | |||
if(myButtonState == HIGH){ | |||
digitalWrite(myLedPin, HIGH); | |||
}else{ | |||
digitalWrite(myLedPin, LOW); | |||
} //button control the Led to test | |||
n = digitalRead(encoder0PinA); | |||
if ((encoder0PinALast == LOW) && (n == HIGH)) { | |||
if (digitalRead(encoder0PinB) == LOW) { | |||
encoder0Pos--; | |||
} else { | |||
encoder0Pos++; | |||
} | |||
Serial.print (encoder0Pos); | |||
Serial.println ("/"); | |||
} | |||
encoder0PinALast = n; | |||
} | |||
</source> | |||
<br /><br /> | |||
'''Proccessing 1''' | |||
<source lang="java"> | |||
// Moving the figure of the clock according to the incomingValue. | |||
import processing.serial.*; | |||
Serial myPort; | |||
int incomingVal; | |||
void setup() { | |||
size(1000, 700); | |||
strokeWeight(5); | |||
smooth(); | |||
println(Serial.list()); | |||
myPort = new Serial(this,"/dev/tty.usbmodem411",9600); | |||
} | |||
void draw() { | |||
background(0); | |||
while(myPort.available() > 0){ | |||
incomingVal = myPort.read(); | |||
println(incomingVal); | |||
} | |||
fill(174,221,60); | |||
ellipse(500,350,250,250); | |||
ellipse(385,350,2,2); | |||
ellipse(615,350,2,2); | |||
ellipse(500,465,2,2); | |||
ellipse(500,235,2,2); | |||
ellipse(500,350,5,5); | |||
float hourAngle = map(incomingVal/12, 0, 255, 0, 360); | |||
pushMatrix(); | |||
translate(500, 350); | |||
rotate(radians(hourAngle*12) - radians(90)); | |||
line(0, 0, 100, 0); | |||
float speed = dist(mouseX, mouseY, pmouseX, pmouseY); | |||
float diameter = speed * 2.0; | |||
fill(204, 221, 80); | |||
ellipse(250, 250, diameter/2, diameter/2); | |||
popMatrix(); | |||
translate(500, 350); | |||
rotate(radians(hourAngle) - radians(90)); | |||
line(0, 0, 50, 0); | |||
} | |||
</source> | |||
<br /><br /> | |||
'''Processing 2''' | |||
<source lang="java"> | |||
// Video jump and play by incomingValue. | |||
import processing.video.*; | |||
Movie myMovie; | |||
import processing.serial.*; | |||
Serial myPort; | |||
int incomingVal; | |||
void setup() { | |||
size(640,480,P2D); | |||
frameRate(30); | |||
myMovie = new Movie(this, "video.mov"); | |||
myMovie.loop(); | |||
println(Serial.list()); | |||
myPort = new Serial(this,"/dev/tty.usbmodem411",9600); | |||
} | |||
void movieEvent(Movie myMovie) { | |||
myMovie.read(); | |||
} | |||
void draw() { | |||
while(myPort.available() > 0){ | |||
incomingVal = myPort.read(); | |||
println(incomingVal); | |||
} | |||
if(myMovie.available()){ | |||
} | |||
image(myMovie, 0, 0); | |||
} | |||
void mousePressed(){ | |||
myMovie.jump(incomingVal); | |||
} | |||
</source> | |||
<br /><br /> | |||
[[File:wedding8.jpg|400px|]] | |||
=== Sketch up=== | |||
Using arduino to collect the data outside and transform into the computer. I connected the touch screen with arduino so that collect the moving movement and touch point. After computer received the data, processing will read data and give order to the video. | |||
[[File:wedding7.jpg|600px|]] | |||
[[File:wedding10.jpg|600px|]] | |||
[[File:wedding4.jpg|600px|]] |
edits