Différences entre les versions de « Le75::Image numérique BAC2 »

De {}
Aller à la navigation Aller à la recherche
 
(4 versions intermédiaires par le même utilisateur non affichées)
Ligne 260 : Ligne 260 :
 
    
 
    
 
}
 
}
 +
</source>
 +
<source lang="java">
 +
//une forme se déplace dans la fenêtre. A chaque fois que le volume capté
 +
//dépasse un seuil, cette forme change de direction
 +
 +
import processing.sound.*;
 +
 +
AudioIn entree;
 +
Amplitude volume;
 +
 +
float posX;
 +
float posY;
 +
 +
float vitesseX;
 +
float vitesseY;
 +
 +
void setup(){
 +
  size(600, 600);
 +
  posX = 300;
 +
  posY = 300;
 +
 
 +
  vitesseX = 0.5;
 +
  vitesseY = 0.5;
 +
  fill(255, 0, 0);
 +
 
 +
  entree = new AudioIn(this, 0);
 +
  volume = new Amplitude(this);
 +
 +
  entree.start();
 +
  volume.input(entree);
 +
}
 +
 +
void draw(){
 +
  background(255);
 +
 
 +
 
 +
 
 +
 
 +
  ellipse(posX, posY, 100, 100);
 +
 
 +
  if(volume.analyze() > 0.05){
 +
    vitesseX = random(-5, 5);
 +
    vitesseY = random(-5, 5);
 +
  }
 +
 
 +
  if(posX > 550 && vitesseX > 0){
 +
    vitesseX = -vitesseX;
 +
  }else if(posX < 50 && vitesseX < 0){
 +
    vitesseX = -vitesseX;
 +
  }
 +
  if(posY > 550 && vitesseY > 0){
 +
    vitesseY = -vitesseY;
 +
  }else if(posY < 50 && vitesseY < 0){
 +
    vitesseY = -vitesseY;
 +
  }
 +
 
 +
  posX = posX + vitesseX;
 +
  posY = posY + vitesseY;
 +
 
 +
 
 +
 
 +
}
 +
 +
 
</source>
 
</source>
  
Ligne 266 : Ligne 330 :
 
//dessiner 200 carrés imbriqués les uns dans les autres, les carrés pairs ont une couleur différente des carrés impairs et lorsque l'on clique sur la fenêtre les couleurs s'inversent
 
//dessiner 200 carrés imbriqués les uns dans les autres, les carrés pairs ont une couleur différente des carrés impairs et lorsque l'on clique sur la fenêtre les couleurs s'inversent
 
</source>
 
</source>
 +
 
===Cours du 7 mars 2016===
 
===Cours du 7 mars 2016===
 
<source lang="java">
 
<source lang="java">
Ligne 339 : Ligne 404 :
 
     background(0, 255, 0);
 
     background(0, 255, 0);
 
   }
 
   }
 +
}
 +
</source>
 +
===Cours du 14 mars 2016===
 +
<source lang="java">
 +
 +
PImage chaton;
 +
float rotation;
 +
int compteur;
 +
void setup(){
 +
  chaton = loadImage("chaton.png");
 +
  size(600, 600, P3D);
 +
  rotation = 0;
 +
}
 +
 +
void draw(){
 +
  compteur = 0;
 +
  while(compteur < 1000){
 +
    pushMatrix();
 +
    translate(random(0, 600), random(0,600));
 +
    rotateZ(rotation);
 +
    image(chaton, -25, -50, 50, 100);
 +
   
 +
    popMatrix();
 +
    compteur = compteur + 1;
 +
    rotation = rotation + 0.1;
 +
  }
 +
 
 +
}
 +
 +
</source>
 +
 +
===Cours du 21 mars 2016===
 +
[http://dotdotdot.be/sessions/75/20160321/chat_objet.zip code1 (le chat)]
 +
 +
[http://dotdotdot.be/sessions/75/20160321/chats_objets.zip code2 (les chats)]
 +
 +
===Cours du 18 avril 2016===
 +
<source lang="java">
 +
 +
import ddf.minim.*;
 +
import ddf.minim.analysis.*;
 +
 +
Minim minim;
 +
AudioInput in;
 +
FFT fftIn;
 +
 +
float posX;
 +
float posY;
 +
 +
void setup(){
 +
  size(600, 600);
 +
 
 +
  posX = 300;
 +
  posY = 300;
 +
  minim = new Minim(this);
 +
 
 +
  in = minim.getLineIn();
 +
 
 +
  fftIn = new FFT(in.bufferSize(), in.sampleRate());
 +
 
 +
 
 +
  fill(0);
 +
  stroke(0);
 +
}
 +
 +
void draw(){
 +
  background(255);
 +
 
 +
  strokeWeight(2);
 +
 
 +
 +
 
 +
 
 +
 
 +
 +
    fftIn.forward(in.mix);
 +
 
 +
   
 +
    int nbreBandes = fftIn.specSize();
 +
   
 +
    int indice = 0;
 +
    float valeur = 0;
 +
   
 +
    int maxFrequence = 0;
 +
   
 +
    while(indice < nbreBandes){
 +
      if(fftIn.getBand(indice) > valeur){
 +
        valeur = fftIn.getBand(indice);
 +
        maxFrequence = indice;
 +
      }
 +
      indice = indice + 1;
 +
    }
 +
   
 +
   
 +
    if(maxFrequence > 0){
 +
   
 +
      float deplacementX = map(maxFrequence, 0, 60, -5, 5);
 +
     
 +
      float deplacementY = map(maxFrequence, 0, 60, -5, 5);
 +
     
 +
      line(posX, posY, posX + deplacementX, posY + deplacementY);
 +
     
 +
     
 +
     
 +
      posX = posX + deplacementX;
 +
      posY = posY + deplacementY;
 +
   
 +
    }
 +
   
 +
   
 +
   
 +
 
 
}
 
}
 
</source>
 
</source>

Version actuelle datée du 18 avril 2016 à 09:02

Ce cours est destiné aux étudiants de BAC2 de l'option Images Plurielles Imprimées de l'école Le 75.

Cours

1er Quadri: Numériser

Énoncé

Développer un procédé de numérisation avec un outil choisi puis exploité de manière neuve/détournée/personnelle.

Développer un procédé de rendu des données numérisées (choix du traitement des données, choix de la méthode d'impression).

Produire 10 images imprimées réalisées via les procédés définis.

Format du rendu : libre.

Méthode

Choisir un outil de numérisation (scanner, appareil photo, capteur, micro, webcam).

Chercher des références, techniques, artistiques, sur l'outil choisi.
Documenter les découvertes sur l'espace web du cours (dotdotdot.be).

Choisir un sujet à capturer avec le processus choisi et réaliser la capture. Stocker les données récupérées.

Produire des images avec les données récupérées par la capture.
Contraintes techniques
Exploitation de l'outil : l'outil doit être détourné/hacké/transformé

Exploitation des données : la méthode de production des images doit-être définie comme un système logique. 
L'interprétation personnelle, l'écriture artistique, doit se placer dans la définition de ce système et non dans son exécution.

Tirage
10 exemplaires

Remise
15 décembre 2015

Paliers
#1 – 8 octobre – outil et documentation (présentation du choix de l'outil, de la documentation et des pistes)
#2 – 19 novembre – capture (présentation de la méthode de capture, du sujet choisi, du type de données numérisées via l'outil
#3 – 3 décembre – exploitation des données et impression (présentation de prototypes, de maquettes avant le résultat final)

Cours

Cours du 15 février 2016

float posX;
float posY;

float vitesseX;
float vitesseY;


float posXB;
float posYB;

float vitesseXB;
float vitesseYB;

int teinteA;
int teinteB;

int vitesseTeinteA;
int vitesseTeinteB;

void setup(){
  size(600, 600);
  posX = 50;
  posY = 50;
  
  posXB = 550;
  posYB = 550;
  
  vitesseX = 1;
  vitesseY = 2;
  
  vitesseXB = -1;
  vitesseYB = -2;
  
  teinteA = 360;
  teinteB = 360;
  
  vitesseTeinteA = -1;
  vitesseTeinteB = -1;
  
  background(255);
  colorMode(HSB);
  noStroke();
}

void draw(){
  //background(255);
  
  fill(teinteA, 200, 200);
  ellipse(posX, posY, 100, 100);
  fill(teinteB, 200, 200);
  ellipse(posXB, posYB, 100, 100);
  
  teinteA = teinteA + vitesseTeinteA;
  teinteB = teinteB + vitesseTeinteB;
  
  if(teinteA < 0 || teinteA > 360){
    vitesseTeinteA = -vitesseTeinteA;
  }
  if(teinteA < 0 || teinteA > 360){
    vitesseTeinteB = -vitesseTeinteB;
  }
  
  
  if(posX > 250 || posX < 50){
    vitesseX = -vitesseX;
  }
  
  if(posY > 550 || posY < 50){
    vitesseY = -vitesseY;
  }
  
  
  
  if(posXB > 550 || posXB < 350){
    vitesseXB = -vitesseXB;
  }
 
  if(posYB > 550 || posYB < 50){
    vitesseYB = -vitesseYB;
  }
  
  posXB = posXB + vitesseXB;
  posYB = posYB + vitesseYB;
  
  posX = posX + vitesseX;
  posY = posY + vitesseY;
  
  if(mousePressed){
    saveFrame();
  }
  
  //saveFrame();
  
}

/*
void mousePressed(){
  saveFrame();
}
*/
}

Cours du 22 février 2016

float posX;
float posY;

void setup(){
  size(600, 600);
  background(255, 255, 0);
  
}

void draw(){
  
  background(255, 255, 0);
  posX = 10;
  posY = 10;
  
  
  while(posX < 600){
    
    line(posX, 0, posX, 600);
    
    posX = posX + mouseX + 10;
    
    
  }
  
  while(posY < 600){
    line(0, posY, 600, posY);
    posY = posY + 10;
    
  }
  
  
}

Énoncé pour la prochaine fois

//réaliser une mosaïque de carrés rouges et bleus.
//chaque carré doit avoir une longueur de côté qui passe de 10 à 50, puis de 50 à 10
//ce mouvement doit être infini (les carrés bougent tout seul)

Cours du 2 mars 2016

int indice;
int indiceY;

int couleur;

int cote;

int vitesse;

void setup(){
  size(600, 600);
  cote = 50;
  vitesse = - 1;
}

void draw(){
  
  if(cote <= 10){
    vitesse = 1;
  }
  if(cote >= 50){
    vitesse = -1;
  }
  
  cote = cote + vitesse;
  
  
  indiceY = 0;
  while(indiceY <= 12){
    indice = 0;
    if(indiceY % 2 == 0){
      couleur = 0;
    }else{
      couleur = 1;
    }
    while(indice <= 12){
      //print(indiceY);
      
      if(couleur == 0){
        fill(255, 0, 0);
      }else{
        fill(0, 0, 255);
      }
      
      rect(indice * 50, indiceY * 50, cote, cote);
      
      if(couleur == 0){
        couleur = 1;
      }else{
        couleur = 0;
      }
      
      //line(indice * 10 , 0, indice * 10, 600);
      indice = indice + 1;
    }
    indiceY = indiceY + 1;
    
  }
  


  
  
}
//une forme se déplace dans la fenêtre. A chaque fois que le volume capté
//dépasse un seuil, cette forme change de direction

import processing.sound.*;
 
AudioIn entree;
Amplitude volume;

float posX;
float posY;

float vitesseX;
float vitesseY;

void setup(){
  size(600, 600);
  posX = 300;
  posY = 300;
  
  vitesseX = 0.5;
  vitesseY = 0.5;
  fill(255, 0, 0);
  
  entree = new AudioIn(this, 0);
  volume = new Amplitude(this);
 
  entree.start();
  volume.input(entree);
}

void draw(){
  background(255);
  
  
  
  
  ellipse(posX, posY, 100, 100);
  
  if(volume.analyze() > 0.05){
    vitesseX = random(-5, 5);
    vitesseY = random(-5, 5);
  }
  
  if(posX > 550 && vitesseX > 0){
    vitesseX = -vitesseX;
  }else if(posX < 50 && vitesseX < 0){
    vitesseX = -vitesseX;
  }
  if(posY > 550 && vitesseY > 0){
    vitesseY = -vitesseY;
  }else if(posY < 50 && vitesseY < 0){
    vitesseY = -vitesseY;
  }
  
  posX = posX + vitesseX;
  posY = posY + vitesseY;
  
  
  
}
//Énoncé pour la prochaine fois
//dessiner 200 carrés imbriqués les uns dans les autres, les carrés pairs ont une couleur différente des carrés impairs et lorsque l'on clique sur la fenêtre les couleurs s'inversent

Cours du 7 mars 2016

float position;
float cote;

int click;

void setup(){
  size(600,600);
  noStroke();
  click = 0;
}

void draw(){
  position=0;
  cote=600;
  
  while(position<300){
    if(cote%2==0 && click == 0){
      
        fill(255,0,0);
    }else if(cote%2==0 && click == 1){
      fill(0,0,255);
    
    }else if(cote%2==1 && click == 0){
        fill(0,0,255);
     }else{
        fill(255,0,0);
     }
      
      
    

    rect(position,position,cote,cote);
      position=position+1.5;
      cote=cote-3;
  }
}

void mousePressed(){
  if(click == 0){
    click = 1;
  }else{
    click = 0;
  }
}
import processing.sound.*;

AudioIn entree;
Amplitude volume;

void setup(){
  size(600, 600);
  
  entree = new AudioIn(this, 0);
  volume = new Amplitude(this);
  
  entree.start();
  volume.input(entree);
  
}


void draw(){
  print(volume.analyze());
  if(volume.analyze() > 0.01){
    background(255, 0, 0);
  }else{
    background(0, 255, 0);
  }
}

Cours du 14 mars 2016

PImage chaton;
float rotation;
int compteur;
void setup(){
  chaton = loadImage("chaton.png");
  size(600, 600, P3D);
  rotation = 0;
}

void draw(){
  compteur = 0;
  while(compteur < 1000){
    pushMatrix();
    translate(random(0, 600), random(0,600));
    rotateZ(rotation);
    image(chaton, -25, -50, 50, 100);
    
    popMatrix();
    compteur = compteur + 1;
    rotation = rotation + 0.1;
  }
  
}

Cours du 21 mars 2016

code1 (le chat)

code2 (les chats)

Cours du 18 avril 2016

import ddf.minim.*;
import ddf.minim.analysis.*;

Minim minim;
AudioInput in;
FFT fftIn;

float posX;
float posY;

void setup(){
  size(600, 600);
  
  posX = 300;
  posY = 300;
  minim = new Minim(this);
  
  in = minim.getLineIn();
  
  fftIn = new FFT(in.bufferSize(), in.sampleRate());
  
  
  fill(0);
  stroke(0);
}

void draw(){
  background(255);
  
  strokeWeight(2);
  
 
  
  
  

    fftIn.forward(in.mix);
  
    
    int nbreBandes = fftIn.specSize();
    
    int indice = 0;
    float valeur = 0;
    
    int maxFrequence = 0;
    
    while(indice < nbreBandes){
      if(fftIn.getBand(indice) > valeur){
        valeur = fftIn.getBand(indice);
        maxFrequence = indice;
      }
      indice = indice + 1;
    }
    
    
    if(maxFrequence > 0){
    
      float deplacementX = map(maxFrequence, 0, 60, -5, 5);
      
      float deplacementY = map(maxFrequence, 0, 60, -5, 5);
      
      line(posX, posY, posX + deplacementX, posY + deplacementY);
      
      
      
      posX = posX + deplacementX;
      posY = posY + deplacementY;
    
    }
    
    
    
  
}

Etudiants

Albator

Capitaine Al

coraliedb

Steve Jobs

Mister Pickles

TangoDelta

Fred

D4rkw3bM4st3r69

Bakuuto!

MonsieurBurns

Drunk Rick

flop!

hoel

Obi-Wanoé