Upload
bibi-charrier
View
104
Download
0
Embed Size (px)
Citation preview
Multitouch control for 3D user interfacesContrôle multitouche pour interface utilisateur 3D
Présentation finale de Travail de Bachelor
Michael Gumowski – 8 avril 2010
2
Plan de la présentation
Introduction Cahier des charges
Résumé Objectifs ciblés
Gestuelle Manipulation de BATIC3S
Communes aux GUIs 3D Spécifiques à BATIC3S
Gestes adoptés
Implémentation Approche client serveur
Protocole TUIO Contraintes temps-réel
Traitement des données Reconnaissance des gestes
Démonstration Vidéo
Bilan Satisfaction des objectifs Difficultés rencontrées Perspectives et améliorations
Conclusion
08/06/2010
3
Introduction
Cahier des charges Résumé :
Ajout de fonctionnalité à BATIC3S Manipulation de la GUI 3D grâce au contrôle multitouche A l’aide du logiciel gratuit et open source Wiimote
Whiteboard Basé sur l’utilisation de périphériques spécifiques
Points cruciaux Définir une gestuelle précise et intuitive Contrôle multitouche de la GUI 3D et navigation dans les
menu08/06/2010
4
Introduction
Objectifs ciblés Cross-platform Coût Utilisabilité
Rapidité Précision Simplicité
Modularité / Réutilisabilité
08/06/2010
5
Manipulation de BATIC3S – Gestuelle
Commune aux GUIs 3D Sélection Rotation Translation Zoom / Dé-zoom
08/06/2010
Spécifiques à BATIC3S Affichage des
Informations Entrée / Sortie des
objets 3D
Gestes communs Utilisabilité
augmentée
Recherche de gestes Simplicité
6
Gestes adoptés – Gestuelle
Sélection d’un objet 3D Équivalent au « clic » de souris 1 point de contact
08/06/2010
Curseur statique
Signal « court »
• Clignotement de l’objet 3D sélectionné
• Vue centrée sur l’objet 3D
7
Gestes adoptés – Gestuelle
Rotation autour d’un objet 3D 1 point de contact
08/06/2010
Curseur mobile
Signal « long »
• Rotation en gardant l’objet centré
8
Curseur statique
Zone spéciale
Signal « long »
Gestes adoptés – Gestuelle
Translation 2 points de contact
08/06/2010
Curseur mobile
Signal « long »
• Translation de la caméra
9
Curseur mobile
Signal « long »
Gestes adoptés – Gestuelle
Zoom / Dé-zoom 2 points de contact
08/06/2010
Curseur mobile
Signal « long »
• Eloignement des points Zoom• Rapprochement des points Dé-zoom
10
Gestes adoptés – Gestuelle
Affichage des informations d’un objet 3D Équivalent au « clic » prolongé de souris 1 point de contact
08/06/2010
Curseur statique
Signal « long »
• Affichage de la fenêtre d’information de l’objet 3D
Vue centrée sur l’objet 3D
11
Curseur statique
Signal « long »
Gestes adoptés – Gestuelle
Entrer / Sortir d’un objet 3D 2 points de contact Nécessite un objet sélectionné
08/06/2010
Curseur statique
Signal «court»
• Points proche Entrée• Point éloigné Sortie
12
Implémentation
Approche Client-Serveur Initialement
Intégration des éléments de Wiimote Whiteboard dans BATIC3S
Finalement Utilisation de Wiimote Whiteboard comme serveur
d’événements Réceptionne les informations des curseurs actifs Transmet les données
Utilisation de BATIC3S comme client Analyse l’évolution des données des curseurs Agit sur la scène 3D
08/06/2010
13
Protocole TUIO – Implémentation
08/06/2010
14
Protocole TUIO – Implémentation
08/06/2010
15
Contraintes temps-réels – Implémentation
Traitement des données Système de buffer cyclique
Peu de point stockés Traitement continu de données Le pointeur d’écriture remplit le buffer Le pointeur de lecture vide le buffer
08/06/2010
null null null null null null null null null nullempty
ID de session des curseurs actifsPosition d’attente Buffer cyclique
Pointeur d’écriturePointeur de lecture
16
Contraintes temps-réels – Implémentation
Traitement des données Système de buffer cyclique
Dimension : N x M (paramétrable) N = nombre de points (colonne), M = nombre de curseurs (ligne)
08/06/2010
null null null null null null null null null nullemptyp11 p12 null null null null p7 p8 p9 p10
null p2 p3 p4 p5 null null null null null
p1 p2 p3 null null null null null null null
1
2
3
17
Arbre de décision Feuilles = Gestes Nœuds = Tests à
solution binaire
Avantages Facile à intégrer
au code Evite les
ambigüités Simples et rapides
Contraintes temps-réels – Implémentation
08/06/2010
Reconnaissance des gestes
18
Démonstration
Présenter un exemple d’utilisation classique
08/06/2010
19
Bilan
Satisfaction des objectifs
08/06/2010
ObjectifCommentaires
SatisfactionPositifs Négatifs
Cross-Platform
Coût
Utilisabilité
Rapidité
Précision
Simplicité
Modularité / Réutilisabilité
• Java• eclipse
• API spécifiques aux OS
• Coût des périph. (wiimote, Bluetooth, …)
• Buffer• Arbre de décision
• Opérationnel• Limité aux gros objets• Facteurs extérieurs
• Gestes intuitifs• Mouvement simples• Apprentissage rapide
• 1-2 points de contact
• Protocole TUIO• Arbre de décision• Intégration « propre »
90%
100%
100%
60%
95%
100%
20
Bilan
Difficulté rencontrées Logiciel
Fonctionnement de BATIC3S Matériel et périphériques
Instabilité au niveau infrarouge compatibilité sur tous les OS
Recherche d’informations sur les techniques de contrôle multitouche
08/06/2010
21
Bilan
Perspectives et améliorations Serveur TUIO Structure de BATIC3S Gestuelle augmentée Système de buffer
08/06/2010
22
Conclusion
Expérience acquise Gestion de projet Génie logiciel Reverse engineering (merci BATIC3S)
Technologies multitouches
Importance De suivre une méthodologie de développement De l’architecture logicielle De la documentation
Penser à ceux qui pourraient reprendre le travail!08/06/2010
23
Conclusion
Merci de votre attention!
15/04/2010