====== RÉVÉLATION - TABLE MULTITOUCH ====== * Porteur du projet : Kévin BIZE (DSAA Produit - Lycée Jean PERRIN) * Date : 01/2015 * Licence : libre ! * Contexte : Pratique Plastique * Programme multitouch: http://ccv.nuigroup.com/#home * Lien : [[https://www.behance.net/KevinBIZE]] ===== Description ===== Ce projet est un dispositif permettant de retranscrire un mouvement. J’ai choisi de mettre en valeur une action que très peu de monde s’imagine, à savoir le déplacement de la souris d’ordinateur. Pour ce faire, je me suis enregistré en train de travailler sur mon ordinateur, puis j’ai créé un dispositif qui permet à n’importe qui d’analyser le déplacement de sa main sur "une surface multitouch DIY". Ce mouvement est retranscrit par une webcam placée dans un caisson surmonté d'une surface translucide (plexiglass) qui fera office d'interface. L’information est envoyée sur un ordinateur, qui à son tour l’envoie à un vidéoprojecteur. La projection peut être externe ou rétroprojetée en miroir sur l'interface en plexiglass. {{:wiki:projets:revelation:portfolio_2015_2_.png|}} {{:wiki:projets:revelation:05.jpg|}} ===== Matériaux ===== Hardware: - caisson - webcam - vitre (plexiglass) - ordinateur - vidéoprojecteur Software: * [[http://ccv.nuigroup.com/#home|CCV]] * [[https://processing.org/|Processing]] ===== Code Processing ===== import oscP5.*;\\ import netP5.*;\\ import tuioZones.*;\\ import ddf.minim.*;\\ TUIOzoneCollection zones;\\ Minim minim;\\ AudioInput in;\\ int s = 9000; // sensibilité du mic\\ AudioPlayer song;\\ void reset_sketch(){\\ background(255);\\ }\\ void setup(){\\ size(displayWidth,displayHeight);\\ background(255);\\ noCursor();\\ minim = new Minim(this);\\ song = minim.loadFile ("kaytranada.mp3");\\ song.play();\\ // son\\ minim = new Minim(this); // Objet minim\\ minim.debugOn();\\ in = minim.getLineIn(Minim.MONO, 64); // entrée son\\ // create a draggable, throwable, and scalable zone for a photo\\ zones=new TUIOzoneCollection(this);\\ zones.setZone("zone1", width/2,height/2,400,300);\\ zones.setZoneParameter("zone1","DRAGGABLE",true);\\ }\\ void draw(){ // draw the touch trails for testing hardware calibration int[][] coord=zones.getPoints(); stroke(0); fill (227,227,227,120); smooth(); strokeWeight(1); //filtre blur trop gourmand!! //²filter(BLUR, 2); if (coord.length>0){\\ for (int i=0;i1){\\ for (int j=1;j