AirDigital

Évolution des interfaces hommes machines vers la détection de mouvement et la trois dimensions.

Tout au long de l’histoire de l’informatique, les interfaces hommes machines n’ont cessées d’évoluer. Ce domaine est en renouvèlement constant toujours à la recherche de nouvelles idées permettant de rendre l’utilisation des ordinateurs plus simple et efficace. Notre projet s’inscrit dans cette évolution et se base sur une technologie en pleine essor : la reconnaissance de mouvements. Objectifs : Notre objectif premier était de permettre l'utilisation d'un ordinateur grâce aux mouvements. Il s'agissait non d'offrir un exemple tel un affichage de photos mais d'anticiper les interfaces du futur qui offriront une immersion plus forte de l'utilisateur. Notre projet doit permettre à l'utilisateur d'effectuer les fonctions basiques d'un système d'exploitation. Intégrer le projet open Framework et rendre notre code réutilisable par cette communauté était aussi un objectif.

Pour ce projet il a fallu repenser le système d'interface utilisé actuellement. En effet les interfaces actuelles sont pensé pour deux dimensions, il n'y a aucune gestion de profondeur et il a donc fallut repartir de zéro à ce niveau et fournir un énorme travail de réflexion sur la structuration du code. Une longue période d’analyse et d’installation sur les différents hack du Kinect a été nécessaire et après de longues heures d’essaie d’installation sous linux seul le SDK Microsoft sous Windows a permis d’avoir des résultats.

Notre projet n’a pas permis d’avoir tous les résultats escomptés au début de l’année. En premier le SDK Kinect ne permet pas d’obtenir les coordonnées des doigts de l’utilisateur et donc de savoir si celui-ci à la main ouverte ou fermée etc… Il a fallu donc penser à un système permettant d’utiliser l’ordinateur avec les poings sans sacrifier l’immersion de l’utilisateur. Suite à l’analyse du fonctionnement du SDK Kinect il a été possible de récupérer les coordonnées des mains de l’utilisateur qui sont partagées aux autres parties grâce à un système de données partagées et de Mutex. Des mouvements simples ont pu être déduis de ces coordonnées. Un nouveau système d’espace a été conçu spécialement pour ce projet, c’est un système composé de 4 types de conteneurs tous héritant les uns des autres avec des fonctionnalités supplémentaires à chaque niveaux. Chaque classe possède un conteneur réflexif qui peut contenir des éléments du même type que la classe qui le contient. Cette fonctionnalité permet de créer des espaces particuliers à l’infini selon le monde que voudra créer le développeur et selon ses besoins. Ainsi le premier conteneur représente un super univers. Celui-ci contient plusieurs sous-univers qui, grâce au système objet, peuvent être initialisés en tant qu’espace particuliers provenant de notre système.

Ce projet fût fort intéressant bien que très complexe, nous nous sommes lancé dans une aventure qui vaudrait le coup d’être poursuivie tant le domaine est prometteur.

Ajouter un commentaire

CAPTCHA
Ce test a pour but d'empêcher les spams.
1 + 0 =
Trouvez la solution de ce problème mathématique simple et saisissez le résultat. Par exemple, pour 1 + 3, saisissez 4.