Run 2000 : Différence entre versions

De fablabo
Aller à : navigation, rechercher
(Programmation du cube)
(Programmation du cube)
Ligne 37 : Ligne 37 :
 
== '''Programmation du cube''' ==
 
== '''Programmation du cube''' ==
  
Code Processing :
+
=== Code Processing : ===
  
-Mise en aléatoire des vidéos
+
==== -Mise en aléatoire des vidéos ====
  
-Inversion des couleurs pour le capteur lumière
+
==== -Inversion des couleurs pour le capteur lumière ====
 
<gallery mode="packed">
 
<gallery mode="packed">
 
File:Capture d’écran 2018-04-16 à 23.28.59.png
 
File:Capture d’écran 2018-04-16 à 23.28.59.png
Ligne 48 : Ligne 48 :
  
  
-Split screen  
+
==== -Split screen ====
 
<gallery mode="packed">
 
<gallery mode="packed">
 
File:Capture d’écran 2018-04-16 à 23.34.21.png
 
File:Capture d’écran 2018-04-16 à 23.34.21.png
Ligne 54 : Ligne 54 :
 
</gallery>
 
</gallery>
  
-Glitch
+
==== -Glitch ====
 
<gallery mode="packed">
 
<gallery mode="packed">
 
File:Capture d’écran 2018-04-16 à 23.30.41.png
 
File:Capture d’écran 2018-04-16 à 23.30.41.png
 
</gallery>
 
</gallery>
  
 +
void draw() {
  
Code Photon:
+
image(m, 0, 0, width, height); // On affiche la vidéo
 +
 +
//si la pression est faible le glitch est minime
 +
if (pression < 1500){
 +
glitch();
 +
}
 +
 
 +
  //si la pression est forte le glitch est intense
 +
if (pression >=1500){
 +
glitch();
 +
glitch();
 +
glitch();
 +
glitch();
 +
glitch();
 +
glitch();
 +
}
 +
 
 +
  // 10 bandes horizontales étirées en largeur
 +
  for (int i = 0; i < 10; i++) {
 +
    // copy(m, 0, 150+i*10, width, 5, 0, 150+i*10, int(width*1.1), 5);
 +
  }
 +
 
 +
}
 +
 
 +
void movieEvent(Movie m) {
 +
  m.read();
 +
}
 +
 
 +
void glitch(){
 +
   
 +
  a = int(random(width)); //valeurs random
 +
  b = int(random(height));
 +
  c = int(random(width));
 +
  d = int(random(height));
 +
 
 +
  // On copie m à 140 en x et 260 en y, sur 600 px en x et 50 px en y,
 +
  // puis on on affiche cette copie à 140 en x et 260 en y (au même endroit donc)
 +
  // mais cette fois la taille affiché sera 600 en x (comme avant) et 150 en y (3 fois plus haut)
 +
copy(m, 200, 260, 600, 50, a, b, c, d); //carré en random
 +
 
 +
  noStroke(); // pas de contours
 +
  fill(random(255), random(255), random(255), 35); // random color
 +
  rect(a, b, c, d); // rectangle transparent dessus
 +
 
 +
}
 +
 
 +
 
 +
 
 +
=== Code Photon: ===
  
 
== '''L'installation finale''' ==
 
== '''L'installation finale''' ==

Version du 16 avril 2018 à 23:58


Run 2000, est un modificateur de video tangible.

JoliAfficheur.jpg

Statut du projet

Experimental

Statut de la publication

Finalisé

License

CC-by-sa-3.0 - Creative Commons Attribution CC-by-sa-3.0 France

Inspiration

Forest gump

Fichiers source

Matériaux

Lien





Concept

Devenez le réalisateur, vos mouvements et actions sont visibles à l'écran.

Au cours d'un atelier de quatre jours à Plateform C, nous avons créé un modificateur de vidéo tangible. Il fonctionne avec trois capteurs différents pour créer toutes les modifications. Grâce à un capteur de distance, l'utilisateur peut ralentir ou accélérer la vidéo en déplaçant le cube de gauche à droite. Le capteur de luminosité peut saturer l'image lorsqu'on approche une source de lumière. Lorsque vous touchez plus ou moins fortement le capteur de pression, un blur apparaît sur la vidéo. Enfin, dernière interaction, il y a deux fentes sur une face du cube dans lequel l'utilisateur peut passer une lame pour couper horizontalement ou verticalement la vidéo. Dans cette expérience, c'est l'humain qui interagit directement avec son corps et ses mouvements.

Le cube

Le cube a été construit avec des plaques PMMA pour la transparence, nous voulions que la carte photon et les fils soient visibles à l'intérieur. Les six faces du cube sont maintenues entre elles avec du scotch argenté, en accord avec notre thème les années 2000. Nous avons réalisé le logo et les pictogrammes à la découpeuse vinyle.

Le cube modifie une vidéo retransmise sur un vieil écran d'ordinateur cathodique.

Programmation du cube

Code Processing :

-Mise en aléatoire des vidéos

-Inversion des couleurs pour le capteur lumière


-Split screen

-Glitch

void draw() {

image(m, 0, 0, width, height); // On affiche la vidéo 

//si la pression est faible le glitch est minime
if (pression < 1500){
glitch();
}
 //si la pression est forte le glitch est intense
if (pression >=1500){
glitch();
glitch();
glitch();
glitch();
glitch();
glitch();
}
 // 10 bandes horizontales étirées en largeur
 for (int i = 0; i < 10; i++) { 
   // copy(m, 0, 150+i*10, width, 5, 0, 150+i*10, int(width*1.1), 5);
 }

}

void movieEvent(Movie m) {

 m.read();

}

void glitch(){

  a = int(random(width)); //valeurs random
  b = int(random(height)); 
  c = int(random(width));
  d = int(random(height));
  
 // On copie m à 140 en x et 260 en y, sur 600 px en x et 50 px en y,
 // puis on on affiche cette copie à 140 en x et 260 en y (au même endroit donc)
 // mais cette fois la taille affiché sera 600 en x (comme avant) et 150 en y (3 fois plus haut)
copy(m, 200, 260, 600, 50, a, b, c, d); //carré en random
 noStroke(); // pas de contours
 fill(random(255), random(255), random(255), 35); // random color
 rect(a, b, c, d); // rectangle transparent dessus
 

}


Code Photon:

L'installation finale