====== ✖ La mémoire ====== * Porteur du projet : Audrey Delacroix * Date : Mars 2017 * Contexte : Cours de programmation Processing Pour réaliser ce projet, j'ai cherché sur [[https://www.openprocessing.org|openprocessing.org]] un scketch en rapport avec le cerveau qui me plaisait et j'ai trouvé [[https://www.openprocessing.org/sketch/335211|"Neurons"]] de Carl Vitasa. Je l'ai donc modifié (couleurs des billes/traits/fond, taille des billes, épaisseur des traits, vitesse du déplacement, nombre de billes/traits,...), mais j'ai également rajouté des éléments tels que du texte, une image en dégradé, des photographies et un bouton. Lorsque vous déplacez votre curseur de souris sur le bouton "Découvre", des photographies apparaissent aléatoirement sur le carré dégradé. J'ai voulu illustrer des souvenirs qui nous reviennent en mémoire comme des flashs. ===== ✖ À télécharger ===== {{:wiki:projets:projets-processing-dsaa1:colors_of_autumn.zip|Typographie Colors Of Autumn}} {{:wiki:projets:projets-processing-dsaa1:pic1.jpg?113|Photo 1}} {{:wiki:projets:projets-processing-dsaa1:pic2.jpg?113|Photo 2}} {{:wiki:projets:projets-processing-dsaa1:pic3.jpg?113|Photo 3}} {{:wiki:projets:projets-processing-dsaa1:pic4.jpg?113|Photo 4}} {{:wiki:projets:projets-processing-dsaa1:pic5.jpg?113|Photo 5}} {{:wiki:projets:projets-processing-dsaa1:pic6.jpg?113|Photo 6}} {{:wiki:projets:projets-processing-dsaa1:pic7.jpg?113|Photo 7}} {{:wiki:projets:projets-processing-dsaa1:brain.gif?113|Photo cerveau}} ===== ✖ Programme ===== //// Travail Processing - Audrey Delacroix //// Initialisation des variables button ton1; // Attribut des boutons boolean overBox = false; // Variables, attributs boolean faux pour bouton boolean locked = false; // Attributs boolean faux pour bouton boolean singlePress = false; // Attributs boolean faux pour bouton PFont police; // Typographie int total = 140; // Type. Nombre entier, nombre de points int lineRange = 40; // Type. Nombre de lignes ArrayList ballList = new ArrayList(); // "New" exécute le construceur de la classe color violet = color(240,0,255); // Couleur violet color blue = color(0, 0, 255); // Couleur bleu //// Initialisation des paramètres d'affichages et initialisation des variables globales void setup() { // Les lignes de codes s'exécutent au lancement de l'animation size(995, 730, P2D); // Taille de la fenêtre, P2D pour le dégradé smooth (8); // Bords lisses frameRate (45); // Nombre d'images par secondes, lenteur du déplacement noStroke(); // Pas de contours //// Initialisation des boutons ton1 = new button(); // Nouveau bouton for (int i=0; i ===== ✖ Bouton ===== //// Annonce de la classe bouton class button{ //// attributs // Couleurs int Red; // int : variable entier (32 bits) int Gre; int Blu; // Coordonnées des boutons int x; int y; // taille du bouton int si1; int si2; //// constructeur button(){ Red = 255; Gre = 0; Blu = 150; } //// Méthode pour remplir les boutons void setFill(int R, int G, int B){ Red = R; Gre = G; Blu = B; } //// Méthode pour dessiner les boutons void draw(int x1, int y1, int s1, int s2){ x = x1; y = y1; si1 = s1; si2 = s2; stroke(0); fill(Red,Gre,Blu); rect(x1, y1, s1, s2); } //// États fonction du bouton boolean clicked(){ // Boolean : vrai / faux if(mouseX > x && mouseX < (x+si1) && mouseY > y && mouseY < (y+si2) ){ overBox = true; if(!locked) { return true; } } overBox = false; return false; } } ===== ✖ Class Ball ===== //// Classe "Ball" class Ball { // Déclaration attributs de la classe "balle" (paramètres des balles) float theta = 0; // Variable : nombre avec décimale, nombre à virgule flottante (32 bits) float speed; float r = 90; float x, y; float xOffSet, yOffSet; // Décalages float xPos, yPos; int clockWise; // Sens des aiguilles d'une montre Ball(float _xOffSet, float _yOffSet, float _speed) // Constructeur de la ball. Affectation des attributs avec les valeurs du constructeur { this.xOffSet = _xOffSet; this.yOffSet = _yOffSet; this.speed = _speed/100; clockWise = int(random(2)); // Aléatoire } //// Déclaration des méthodes membres de la classe "Ball" //// Méthode qui fait le dessin void display() { fill (#38ffff); // Couleur des boules noStroke(); // Pas de contour ellipse(xPos, yPos, 3, 3); // Tailles des boules } //// Méthode qui met en mouvement, vitesse void move() { xPos = x + xOffSet; yPos = y + yOffSet; x = r * cos(theta); y = r * sin(theta); if (clockWise == 1) // Condition { theta += speed; } else { theta -= speed; } } } ===== ✖ Résultat ===== {{:wiki:projets:projets-processing-dsaa1:cerveauprocessing.gif}} //(Il s'agit d'un GIF et pas d'une vidéo : le mouvement/vitesse des "neurones" n'est pas le bon !)//