front_processing/doc/tutorial_front_processing.html
author bastiena
Fri, 06 Apr 2012 18:36:40 +0200
changeset 26 858e90c7cbaa
parent 10 925b7ee746e3
child 41 d2f735d7763f
permissions -rw-r--r--
Front IDILL : JS TUIO module modified to receive 3D Points
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
     1
<!DOCTYPE html>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
     2
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="has_sidebar fixed-header earthrise">
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
     3
    <head>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
     4
        <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
     5
        <meta name="description" content="Tutoriel sur le développement et l'utilisation de code Processing utilisant le Middleware TraKERS."/>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
     6
        <meta name="keywords" content="TraKERS, TraKERS Processing, TraKERS Front Processing, TraKERS Front, Kinect Processing"/>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
     7
        <title>TraKERS - Tutorial Processing</title>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
     8
    </head>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
     9
    
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    10
    <body>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    11
        <p>TraKERS (Tracking using Kinect and Extracting Robust Skeletons) est une interface basée sur la détection de gestures / positions du squelette envoyé par le SDK Microsoft (1.0) de Kinect. Il est composé d'un Middleware assurant l'interaction avec Kinect, un rendu visuel et l'envoi de notifications sous forme de messages OSC.
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    12
        Le deuxième module de ce projet est un Front en Processing doté d'un client TUIO et récupérant les messages OSC (sous forme d'objets tels que des Curseurs ou des Strings).</p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    13
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    14
        <p>Ce tutoriel concerne ce second module et a pour but d'expliquer le fonctionnement général d'un sketch Processing et la récupération des notifications du Middleware. Il sera agrémenté d'exemples fonctionnels créés pour les besoins de ce tutoriel ou inspirés d'exemples réels disponibles sur le site processing.org.</p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    15
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    16
        <ol type="I">
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    17
            <a href="#I"><li>Installation de Processing</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    18
            <a href="#II"><li>Structure d'un sketch</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    19
            <a href="#III"><li>Fonctions principales de Processing</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    20
            <a href="#IV"><li>Récupérer les objets envoyés par le Middleware TraKERS via un Client TUIO</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    21
            <a href="#V"><li>Interactions entre les objets TUIO récupérés et des fonctions de dessin basiques</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    22
            <a href="#VI"><li>Quelques exemples d'implémentation</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    23
            <a href="#VII"><li>Références</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    24
        </ol>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    25
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    26
        <hr />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    27
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    28
        <ol type="I" start="1">
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    29
            <a name="I"><li>Installation de Processing</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    30
        </ol>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    31
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    32
        <p>Avant de pouvoir modifier les sketches Processing fournis dans l'installateur, il est nécessaire d'installer Processing.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    33
        Vous trouverez l'archive ici :</p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    34
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    35
        <a href="http://processing.googlecode.com/files/processing-1.5.1-windows.zip">Processing pour Windows avec Java</a><br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    36
        <a href="http://processing.googlecode.com/files/processing-1.5.1-windows-expert.zip">Processing pour Windows sans Java</a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    37
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    38
        <p>Une fois téléchargé, il vous suffit de le dézipper, et d'affecter tous les types de fichiers .pde à l'exécutable Processing fourni dans l'archive.</p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    39
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    40
        <p>Si ce n'est pas déjà fait, il peut être utile de spécifier dans le path Windows l'emplacement du répertoire où vous avez extrait l'archive.</p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    41
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    42
        <hr />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    43
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    44
        <ol type="I" start="2">
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    45
            <a name="#II"><li>Structure d'un sketch</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    46
        </ol>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    47
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    48
        <p>Un sketch est représenté par un dossier, contenant plusieurs choses :
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    49
            <ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    50
                <li>Un ou plusieurs fichiers d'extension .pde (Qui contiennent le code Processing). Le .pde principal doit avoir le même nom que le dossier qui les contient.</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    51
                <li>Un dossier code, contenant les libraries appelées dans les fichiers .pde.</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    52
            </ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    53
            Si le sketch a été exporté en application, le dossier principal contient également jusqu'à trois dossiers, qui sont :
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    54
            <ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    55
                <li>application.linux (si l'option Linux a été cochée durant l'export).</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    56
                <li>application.macosx (si l'option Mac OS X a été cochée durant l'export).</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    57
                <li>application.windows (si l'option Windows a été cochée durant l'export).</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    58
            </ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    59
            Ceux-ci contiennent les applications compilées du code source des fichiers .pde.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    60
            Il est également possible d'exporter un applet. On obtiendra donc :
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    61
            <ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    62
                <li>applet (si l'option Linux a été cochée durant l'export).</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    63
            </ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    64
        </p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    65
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    66
        <p>Concernant le projet TraKERS, les sketches fournis peuvent contenir différents fichiers .pde (un pour chaque classe), un fichier TuioFunctions.pde permettant de récupérer les objets TUIO envoyés par le Middleware et un fichier principal du même nom que le sketch.</p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    67
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    68
        <hr />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    69
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    70
        <ol type="I" start="3">
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    71
            <a name="#III"><li>Fonctions principales de Processing</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    72
        </ol>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    73
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    74
        <p>En Processing, les variables déclarées absolues (en dehors d'une fonction ou d'une classe) sont visibles dans tous les autres fichiers .pde du sketch. Il en va de même pour les classes et fonctions (et non méthodes de classe, qui est une fonction appartenant à la classe et donc ne pouvant être appelée qu'en créant un objet de cette classe).</p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    75
        <p>Il existe deux fonctions principales, qui sont :
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    76
            <ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    77
                <li>void setup() : Initialise les différentes variables du sketch.</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    78
                <li>void draw() : Fonction rappelée automatiquement, destinée à contenir des instructions de dessin ou des appels de fonctions.</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    79
            </ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    80
            La gestion des événements souris est naturelle, comme l'indique l'exemple ci-dessous:<br /><br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    81
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    82
            <code>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    83
                public void setup()<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    84
                {<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    85
                &nbsp;&nbsp;size(200,200);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    86
                &nbsp;&nbsp;background(0);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    87
                }<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    88
                <br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    89
                public void draw()<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    90
                {<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    91
                &nbsp;&nbsp;stroke(255);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    92
                &nbsp;&nbsp;if(mousePressed)<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    93
                &nbsp;&nbsp;{<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    94
                &nbsp;&nbsp;&nbsp;&nbsp;line(mouseX,mouseY,pmouseX,pmouseY);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    95
                &nbsp;&nbsp;}<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    96
                }<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    97
            </code>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    98
            <br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
    99
        </p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   100
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   101
        <hr />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   102
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   103
        <ol type="I" start="4">
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   104
            <a name="#IV"><li>Récupérer les objets envoyés par le Middleware TraKERS via un Client TUIO</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   105
        </ol>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   106
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   107
        <p>Les objets TUIO exploités dans le cadre de TraKERS sont de deux types :
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   108
        <ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   109
            <li>TuioCursor : Les curseurs sont utilisés pour transmettre des points au Front Processing. On récupère leurs coordonnées sous forme de TuioPoint, qui possèdent comme attributs les valeurs du point en X, Y et Z.</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   110
            <li>TuioString : Elles comportent une String ayant pour valeur la notification du Middleware en cas de détection de gesture par exemple.</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   111
        </ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   112
        </p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   113
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   114
        <p>Voici les différentes implémentations permettant d'accéder à ces objets via le client.
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   115
        On appelle dans cet exemple plusieurs fonctions si des curseurs on été reçus par le client.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   116
        Un curseur représente une main dans la zone de recherche des mains présente dans le Middleware.<br /><br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   117
            <code>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   118
                void tuioInput()<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   119
                {<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   120
                &nbsp;&nbsp;Vector tuioCursorList = tuioClient.getTuioCursors();<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   121
                    <br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   122
                &nbsp;&nbsp;if(tuioCursorList.size() <= 0)<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   123
                &nbsp;&nbsp;{<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   124
                &nbsp;&nbsp;&nbsp;&nbsp;//Code si on ne reçoit pas de curseurs <=> que aucune main n'est dans la zone de recherche des mains.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   125
                &nbsp;&nbsp;}<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   126
                    <br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   127
                &nbsp;&nbsp;if(tuioCursorList.size() == 1)<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   128
                &nbsp;&nbsp;{<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   129
                &nbsp;&nbsp;&nbsp;&nbsp;//Code si une main est détectée.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   130
                &nbsp;&nbsp;&nbsp;&nbsp;//Par exemple, on peut faire appel à une fonction qu'on nommera arbitrairement handleOneHand et qui prendra en paramètre le curseur.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   131
                &nbsp;&nbsp;&nbsp;&nbsp;handleOneHand(tuioCursorList.elementAt(0));<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   132
                &nbsp;&nbsp;}<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   133
                &nbsp;&nbsp;else if(tuioCursorList.size() == 2)<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   134
                &nbsp;&nbsp;{<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   135
                &nbsp;&nbsp;&nbsp;&nbsp;//Code si les deux mains sont détectées.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   136
                &nbsp;&nbsp;&nbsp;&nbsp;//Par exemple, on peut faire appel à une fonction qu'on nommera arbitrairement handleBothHands et qui prendra en paramètre la liste des curseurs récupérés par le client.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   137
                &nbsp;&nbsp;&nbsp;&nbsp;handleBothHands(tuioCursorList);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   138
                &nbsp;&nbsp;}<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   139
                }<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   140
            </code>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   141
            Le code suivant montre comment on peut extraire le point contenu dans le curseur.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   142
            <code>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   143
                void handleOneHand(TuioCursor handCursor)<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   144
                {<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   145
                &nbsp;&nbsp;TuioPoint pt = handCursor.getPosition();//(TuioPoint)pointList.get(j);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   146
                &nbsp;&nbsp;//Code manipulant le point.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   147
                &nbsp;&nbsp;//Par exemple un affichage de texte.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   148
                &nbsp;&nbsp;text(pt.getX() + " " + pt.getY() + " " + pt.getZ());<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   149
                }<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   150
            </code>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   151
            Le code suivant montre comment on peut extraire les points contenus dans une liste de deux curseurs.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   152
            <code>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   153
                void handleBothHands(Vector tuioCursorList)<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   154
                {<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   155
                &nbsp;&nbsp;TuioCursor handLeftCursor = (TuioCursor)tuioCursorList.elementAt(0);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   156
                &nbsp;&nbsp;TuioCursor handRightCursor = (TuioCursor)tuioCursorList.elementAt(1);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   157
                &nbsp;&nbsp;TuioPoint pt;<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   158
                    <br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   159
                &nbsp;&nbsp;pt = (TuioPoint)handLeftCursor.getPosition();<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   160
                &nbsp;&nbsp;//Code pour traiter la position de la première main.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   161
                &nbsp;&nbsp;//Par exemple un affichage de texte.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   162
                &nbsp;&nbsp;text(pt.getX() + " " + pt.getY() + " " + pt.getZ());<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   163
                &nbsp;&nbsp;pt = (TuioPoint)handRightCursor.getPosition();<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   164
                &nbsp;&nbsp;//Code pour traiter la position de la seconde main.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   165
                &nbsp;&nbsp;//Par exemple un affichage de texte.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   166
                &nbsp;&nbsp;text(pt.getX() + " " + pt.getY() + " " + pt.getZ());<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   167
                }<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   168
            </code>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   169
        </p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   170
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   171
        <p>On appelle dans cet exemple une fonction si un message a été reçu par le client.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   172
        Un message représente un événement notifié par le Middleware.<br /><br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   173
        <code>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   174
            void tuioInput()<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   175
            {<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   176
            &nbsp;&nbsp;Vector tuioStringList = tuioClient.getTuioStrings();<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   177
            &nbsp;&nbsp;if(tuioStringList.size() <= 0)<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   178
            &nbsp;&nbsp;{<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   179
            &nbsp;&nbsp;&nbsp;&nbsp;text("Gesture non détectée.");<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   180
            &nbsp;&nbsp;}<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   181
            &nbsp;&nbsp;else<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   182
            &nbsp;&nbsp;{<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   183
            &nbsp;&nbsp;&nbsp;&nbsp;TuioString message = (TuioString)tuioStringList.elementAt(0);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   184
            &nbsp;&nbsp;&nbsp;&nbsp;text(message.getMessage());<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   185
            &nbsp;&nbsp;}<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   186
            }<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   187
            </code>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   188
        </p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   189
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   190
        <hr />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   191
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   192
        <ol type="I" start="5">
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   193
            <a name="#V"><li>Interactions entre les objets TUIO récupérés et des fonctions de dessin basiques</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   194
        </ol>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   195
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   196
        <p>Dans les exemples de code vu précédemment, nous aurions pu remplacer la fonction text() par une fonction de votre cru, comme celle-ci :<br /><br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   197
        <code>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   198
            //Cette fonction dessine une ellipse à la position (x;y;z) et prend en paramètre la fait qu'il s'agisse de la main droite ou gauche.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   199
            void drawEllipse(float x, float y, float z, boolean leftHand)<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   200
            {<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   201
            &nbsp;&nbsp;//On met la couleur de ce qui va venir en bleu.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   202
            &nbsp;&nbsp;fill(0, 0, 255);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   203
            &nbsp;&nbsp;//On ne met pas de bordure à ce qu'on va afficher.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   204
            &nbsp;&nbsp;stroke(0,0,0);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   205
            &nbsp;&nbsp;//On créer un point, une épaisseur de forme.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   206
            &nbsp;&nbsp;//Z est la distance de la main par rapport à Kinect. La zone de recherche des mains est toujours comprise entre minDistHands et maxDistHands<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   207
            &nbsp;&nbsp;float weight = map(z, minDistHands, maxDistHands, 50, 1);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   208
            &nbsp;&nbsp;float redColor = map(z, minDistHands, maxDistHands, 255, 80);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   209
            &nbsp;&nbsp;<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   210
            &nbsp;&nbsp;//S'il s'agit de la main gauche, on colore en tons de rouge.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   211
            &nbsp;&nbsp;if(leftHand)<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   212
            &nbsp;&nbsp;&nbsp;&nbsp;fill(redColor,0,0);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   213
            &nbsp;&nbsp;//Sinon en tons de vert.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   214
            &nbsp;&nbsp;else<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   215
            &nbsp;&nbsp;&nbsp;&nbsp;fill(0,redColor,0);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   216
            &nbsp;&nbsp;<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   217
            &nbsp;&nbsp;//Si le trait est assez gros, on color en tons de bleu.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   218
            &nbsp;&nbsp;if(weight >= 30)<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   219
            &nbsp;&nbsp;{<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   220
            &nbsp;&nbsp;&nbsp;&nbsp;fill(0, 0, redColor);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   221
            &nbsp;&nbsp;}<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   222
            &nbsp;&nbsp;<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   223
            &nbsp;&nbsp;//On dessine une ellipse.<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   224
            &nbsp;&nbsp;ellipse(x+20, y+100, weight, weight);<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   225
            }<br />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   226
        </code>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   227
        </p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   228
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   229
        <hr />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   230
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   231
        <ol type="I" start="6">
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   232
            <a name="#VI"><li>Quelques exemples d'implémentation</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   233
        </ol>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   234
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   235
        <p>Les exemples fournis dans l'installeur sont répartis dans 4 dossiers principaux :
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   236
            <ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   237
                <li>Trakers : Permet d'afficher des ellipses sur le passage d'une ou deux mains se situant à une certaine distance de Kinect.</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   238
                <li>Trakers_gestures : Permet d'afficher le code des gestures détectées par Kinect et notifiées depuis le Middleware.</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   239
                <li>Fluid_manipulation (code importé de processing.org) : Simule l'action des mains sur un fluide.</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   240
                <li>Smoke_manipulation (code importé de processing.org) : Simule l'action des mains sur de la fumée.</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   241
                <li>Interaction examples (code importé de processing.org) : Quelques petits exemples utilisant des formes basiques et réagissant à la position de la main la plus proche de Kinect.</li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   242
            </ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   243
        </p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   244
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   245
        <hr />
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   246
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   247
        <ol type="I" start="7">
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   248
            <a name="#VII"><li>Références</li></a>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   249
        </ol>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   250
        
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   251
        <p>Voici quelques liens utiles où se trouvent les dépendances trop lourdes pour être incluses dans cet installeur. Ils vont permettront également d'approfondissant vos connaissances sur Processing ou TUIO.
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   252
        Il vous est possible d'utiliser eclipse pour compiler du Processing.
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   253
            <ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   254
                <li><a href="http://www.microsoft.com/download/en/details.aspx?id=28782">SDK Kinect 1.0 de Microsoft</a></li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   255
                <li><a href="http://www.tuio.org/">TUIO</a></li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   256
                <li><a href="http://processing.org/">Processing.org</a></li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   257
                <li><a href="http://bodytag.org/">Autres exemples en Processing</a></li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   258
                <li><a href="http://processing.org/learning/eclipse/">Processing sous eclipse</a></li>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   259
            </ul>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   260
        </p>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   261
    </body>
0f44b7360c8d Installer updated
bastiena
parents:
diff changeset
   262
</html>