23
Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski – 8 avril 2010

Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

Embed Size (px)

Citation preview

Page 1: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

Multitouch control for 3D user interfacesContrôle multitouche pour interface utilisateur 3D

Présentation finale de Travail de Bachelor

Michael Gumowski – 8 avril 2010

Page 2: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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

Page 3: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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

Page 4: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

4

Introduction

Objectifs ciblés Cross-platform Coût Utilisabilité

Rapidité Précision Simplicité

Modularité / Réutilisabilité

08/06/2010

Page 5: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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é

Page 6: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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

Page 7: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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é

Page 8: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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

Page 9: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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

Page 10: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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

Page 11: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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

Page 12: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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

Page 13: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

13

Protocole TUIO – Implémentation

08/06/2010

Page 14: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

14

Protocole TUIO – Implémentation

08/06/2010

Page 15: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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

Page 16: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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

Page 17: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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

Page 18: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

18

Démonstration

Présenter un exemple d’utilisation classique

08/06/2010

Page 19: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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%

Page 20: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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

Page 21: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

21

Bilan

Perspectives et améliorations Serveur TUIO Structure de BATIC3S Gestuelle augmentée Système de buffer

08/06/2010

Page 22: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

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

Page 23: Multitouch control for 3D user interfaces Contrôle multitouche pour interface utilisateur 3D Présentation finale de Travail de Bachelor Michael Gumowski

23

Conclusion

Merci de votre attention!

15/04/2010