Digital scribble / Mac+ / Festival EXIT

Composition

Titre du Projet

Digital Scribble

 

Auteur(s)

SIDONIE BOIRON, CHARLOTTE HENINGER

 

Intentions / Contexte

 

Nous voulions créer une interface pour créer un dessin participatif avec l’ordinateur. Accepter l’aléatoire qu’il peut générer et créer des illustrations graphiques abstraites.

Lors du festival nous avons enregistré les compositions que faisaient les visiteurs et nous les imprimions devant eux à l’aide du cutting-plotter, en remplaçant la lame par des crayons ou des feutres de couleurs. Une manière de redonner une matérialité à une image numérique.

 

Besoins / Compétences

• du bois

 du tissu conducteur et isolant type néoprène

 du fil

 un clavier d’ordinateur

 un ordinateur avec le logiciel Processing

 

 

Principe de fonctionnement

Nous avons utilisé le principe du Keyboard Hacking pour créer une interface en bois et textile avec laquelle la personne pourrait interagir. Simple et ludique, elle propose trois cercles en tissus rétro-réfléchissant sur lesquels sont brodés des indications pour savoir où appuyer. Nous avons pris un dessin vectorisé sur Illustrator que nous avons éclaté en cinq filtres. Nous les avons ensuite rentré dans notre code processing. Chaque touche correspond à un filtre. La personne décide donc quel filtre elle veut voir apparaitre et l’ordinateur va de manière aléatoire, mais toujours centré, le placer sur un écran relié à la boite.

 

 

Code

PImage img1;
PImage img2;
PImage img3;
PImage img4;
PImage img5;
PImage img6;

int i=0;

void setup () {
//taille de la fenêtre
size(displayWidth, displayHeight);
background(255);

img1 = loadImage(« filtre1.png »);

img2 = loadImage(« filtre2.png »);
img3 = loadImage(« filtre3.png »);
img4 = loadImage(« filtre4.png »);

img5 = loadImage(« filtre5.png »);

img6 = loadImage(« filtre6.png »);

}

 

void draw () {

// interaction entre le clavier et le dessin

// if (keyPressed) {

// if (key == ‘W’ || key == ‘w’) {

// image(img1, random(500, 700), random(300, 400), 150,150);

//random place de manière aléatoire le motif entre telle donnée et telle autre. + un nbr, un nbr = occupation du motif en pixel

// delay(100);

// }

// }

if (keyPressed) {

if (key == ‘d’ || key == ‘D’) {

save(i+ »dessin.jpg »);

i++;

delay(100);

}

} if (keyPressed) {

if (key == ‘S’ || key == ‘s’) {

image(img2, random(400, 700),

random(100, 200),400,400);

delay(100);

}

}

if (keyPressed) {

if (key == ‘w’) {

background(255); // supression du dessin – remet le background blanc

}

}

if (keyPressed) {

if (key == ‘E’ || key == ‘e’) {

image(img3, random(400, 500),

random(200, 400), 400,250); //random place de manière aléatoire le motif entre telle donnée et telle autre. + un nbr, un nbr = occupation du motif en pixel

delay(100);

}

}

if (keyPressed) {

if (key == ‘B’ || key == ‘b’) {

image(img4, random(300, 400),

random(5, 5), 650,850); //random place de manière aléatoire le motif entre telle donnée et telle autre. + un nbr, un nbr = occupation du motif en pixel

delay(100);

}

}

if (keyPressed) {

if (key == ‘ù’) {

image(img5, random(400, 700),

random(200, 400), 150,150); //random place de manière aléatoire le motif entre telle donnée et telle autre. + un nbr, un nbr = occupation du motif en pixel

delay(100);

}

}

if (keyPressed) {

if (key == ‘Y’ || key == ‘y’) {

image(img6, random(400, 700),

random(200, 400), 150,150); //random place de manière aléatoire le motif entre telle donnée et telle autre. + un nbr, un nbr = occupation du motif en pixel

delay(100);

}

}

}

 

Motifs

 

 

Vidéos

Vidéo 1

Vidéo 2

Vidéo 3

Vidéo 4

Vidéo 5