Outils pour utilisateurs

Outils du site


wiki:projets:cree-ton-image:cree-ton-image

créé ton image

porteur de projet : chloé cimetière
projet : par hasard
date : mars 2020
contexte : cours processing


Commentaire général - Damien MUTI DESGROUAS

Le plan du Wiki est parfaitement respecté. L'énoncé de la situation et des intensions sont très claires. Le fonctionnement du programme est aussi bien expliqué. Vous mettez bien le programme commenté sur le Wiki mais le fichier .zip ne contient pas l'image papa.jpeg et nécessite de la télécharger par ailleurs. Il faudrait intégrer cette photo au dossier du programme. Le programme est globalement bien commenté et est fonctionnel. On ne sais pas quel est l'apport personnel au programme. Le contrat est rempli.

1 - introduction, présentation du problème

La photographie est un sujet qui me fascine. Je fais beaucoup de photos avec mon téléphone portable, en utilisant le zoom au maximum, pour découvrir de nouvelles images. Les paysages qui nous entourent son magnifiques et on les voit tous les jours, mais on ne se penche pas assez sur ce que ces paysages peuvent nous cacher.

exemple de photographies que j'ai réalisé :
panneau.png

fenetre-ensaama.png

mtp.jpg

2 - intention

Pour ce projet à priori hasardeux, j’ai décidé de choisir des supports, pour intervenir dessus par la suite. j’ai alors pris une photographie que j’ai faite, et j’ai fait des tas d’expérimentations dessus, en sorte de créer des images à l’infini à partir d’une seule image. J'ai fait cela pour la pratique plastique, vous pouvez regarder mon travail ici : tickets - zoom.
En convertissant mon projet pour l'intégrer dans un hasard interactif, j'ai décidé de partir d'une photographie, et de la modifier pour la rendre plus ou moins lisible. L'objectif est que, par hasard, l'utilisateur va pouvoir changer l'image pour lui donner une toute autre dimension. une image contient mille autre image selon moi, plus on zoome, plus on la modifie, plus on la séquence, plus une nouvelle image apparaît. Ici, j'ai voulu faire apparaître mille images différentes, de façon aléatoire.

3 - présentation du fonctionnement du programme et de l’algorithme associé

Explication du programme : Dès que la souris passe sur un carré, le carré va se diviser en plusieurs carrés, et quand la souris va repasser sur ces carrés, ils vont être de nouveau diviser en plusieurs carrés et ainsi de suite, les carrés vont devenir de plus en plus petits, jusqu'à ce que l'image se révèle. Cela permet d'avoir, dans une seule image, mille images différentes.

4 - les sources et les liens sur les programmes dont je me suis inspirée

Programme trouvé sur openprocessing et modifié par la suite pour me l'approprier
lien du programme de base : https://www.openprocessing.org/sketch/200114

5 - programme

5 - a photo ajoutée au programme

papa.jpg

5 - b zip du programme

5 - c lignes du programme

//arraylist est un stockage de variable infini, ici il stocke tous les carrés
ArrayList<square> papa  = new ArrayList();
PImage img;
void setup() {
  //taille de mon ecran
  size(300, 300);
  //ajout d'une image
  img = loadImage("papa.jpg");
  // get permet de lire la couleur qui se trouve sur l'image, pour que le carré se tranforme en un carré de la même couleur que la zone de l'image
  // plus les width et height sont petits, plus les carrés seront plus petits de plus en plus vite
  // donc je divise pas width et height car je veux ques les carrés deviennent plus petits de façon progressive et pas d'un coup
  color cc = get(width, height);
  cc = color(cc, 80);
  //signifie la zone dans laquelle va s'inscrire les carrés
  //ici, j'ai mis la zone entière des 300x300
  square c = new square(width, height, width, cc );
  //active l'ajout des carrés dans la zone
  papa.add(c);
}

int k=0;
void draw() {
  //j'ai pas trop compris cette partie, je crois que ca veut dire que k = les carrés, et si les carrés sont en dessous de 1, l'image apparait enfin
  background(1);
  if (k<1) image(img, 0, 0); 

  for (int i=0; i<papa.size (); i++) {
    square C = papa.get(i);
    C.show();
  }
  for (int i=0; i<papa.size (); i++) {
    square C = papa.get(i);
    if (dist(mouseX, mouseY, C.x, C.y)<C.r) {
      //mettre k=0 permet d'intervenir directement sur la photo pour faire apparaitre des carrés de plus en plus petit à force d'interagir
      //k=1 permet d'effacer l'image entièrement pour faire place aux carrés, qui cachent l'image qui se trouve en dessous
      k =0;
      papa.remove(i);
      for (int kx=0; kx<2; kx++) {
        for (int ky=0; ky<2; ky++) {
          //des que la souris survole un carré, il se multiplie encore plus jusqu'à devenir l'image
          color c = img.get(int(pow(-1, kx)*C.r/2+C.x), int(pow(-1, ky)*C.r/2+C.y));
          square C1 = new square(pow(-1, kx)*C.r/2+C.x, pow(-1, ky)*C.r/2+C.y, C.r/2, c);
          papa.add(C1);
         
        }
      }
    }
  }
}

//définit les carrés survolés
class square {
  float x, y, r;
  color c;
  square(float x, float y, float r, color c) {
    this.x = x;
    this.y = y;
    this.r = r;
    this.c = c;
  }
  void show() {
    noStroke();
    fill(c);
    //4*r pour que les carrés soient gros des le début du survol de l'image
    square(x, y, 4*r);
  }
}

visualisation du projet :

wiki/projets/cree-ton-image/cree-ton-image.txt · Dernière modification: 2020/05/14 14:29 (modification externe)