Johann LIBERMAN
Alexandre GUYENNON
LOG1 : LOGICIELS GRAHIQUES
V.R.M.L.
Conception d’une cuisine virtuelle
ESSI3 – VIMM
Novembre / Décembre 1998
Introduction
L’objectif de ce TD est de réaliser une étude détaillée sur la conception d’un logiciel de modélisation d’une cuisine en 3D. Le temps appartit n’étant pas suffisant pour concevoir la totalité de l’application, nous allons juste réaliser une maquette interactive. Pour cela, on utilise V.R.M.L. (Virtual Reality Modeling Language).
Il nous est donc demandé de développer les objets nécessaires à l’aménagement d’une cuisine. Puis de l’agencer correctement, en vue d’une présentation mettant en valeur les différentes possibilité du langage VRML.
Analyse du problème général
La conception d’un logiciel de modélisation d’une cuisine virtuelle
Ce logiciel se doit avant tout d’être robuste et simple d’utilisation. En effet, il sera destiné à des personnes n’ayant pas forcément une grande maîtrise de l’informatique ni de ses outils. Il faut donc qu’elle puisse aisément prendre en main le logiciel, et qu’elle puisse concevoir rapidement ses rêves les plus fous. Il faut également que le logiciel puisse corriger les erreurs d’agencement et se prémunir des mauvaises manipulations effectuées par l’utilisateur. Enfin, une condition primordiale pour le confort de l’utilisateur, c’est qu’une majeure partie des fonctionnalités soit accessible via la souris.
1.1- L’édition d’une cuisine virtuelle
Parmi les principales fonctionnalités nécessaires à ce logiciel, il y a bien entendu la gestion des fichiers. L’utilisateur doit pouvoir enregistrer une de ses création, la relire et la modifier. D’où la nécessité de concevoir un format de sauvegarde des données (ex : VRML).
En ce qui concerne la création d’une cuisine (ou la modification d’une cuisine existante), il faut des fonctions de modélisation des murs afin de définir la forme générale de la cuisine. Il faut pouvoir fixer les paramètres comme la texture. Il faut aussi des menus pour pouvoir ajouter des objets dans la cuisine. Ceci peut se faire à l’aide d’une base de données gérant tous les types d’accessoires ou d’objets ménagers, ainsi que les meubles.
Parallèlement à cela, il faut un module de vérification de la cohérence du schéma conçu. En effet, il faut que chaque porte de chaque meuble puisse s’ouvrir sans problèmes, et qu’aucun meuble ne gène les ouvertures (fenêtres ou portes).
Il faut bien évidemment des fonctions des manipulations des objets (visualisation en 3D, déplacement dans l’espace du meuble …). Il doit être possible d’annuler la dernière action effectuée. Il faut ajouter penser à rendre accessible les informations métriques sur l’écran (activation et désactivation des côtes).
Enfin, pour plus de réalisme et pour que le logiciel est une durée de vie plus longue, il faut qu’un maximum de caractéristiques (objets, murs, structure de la pièce, dimensions, textures, couleurs, formes, sens des ouvertures …) soit paramétrable par l’utilisateur.
1.2- La visualisation d’une cuisine virtuelle
L’utilisateur doit pouvoir avoir accès à différentes vues de sa cuisine. Pour cela, il faut être capable de bouger cette dernière dans l’espace (rotations , zooms, déplacement dans la cuisine, …).
Il doit pouvoir également imprimer un plan 2D de sa réalisation, ainsi qu’un quadrillage de l’espace pour permettre un meilleur positionnement des objets et une meilleure appréciation de leurs dimensions.
Notre développement
La réalisation selon le cahier des charges
Il nous est demandé de réaliser une cuisine rectangulaire, aménagée avec les éléments habituels d’une cuisine. Cette réalisation a pour but de faciliter le placement des objets dans l’espace et d’avoir une meilleur vision des ouvertures (placards, porte, fenêtres, …).
2.1- La conception des meubles et autres objets
La conception des différents objets meublant notre cuisine est soumise à un cahier des charges. Les meubles de rangement sont décomposés en trois catégories :
les meubles bas d’une hauteur de 82 cm et d‘une profondeur de 58 cm. La largeur étant soit de 40 cm, de 60 cm, de 80 cm, soit de 120 cm suivant le type d’ouverture qu’ils possèdent (portes ou/et tiroirs).
Les meubles hauts d’une hauteur de 65 cm et d’une profondeur de 36 cm. Leur largeur est soumise aux mêmes contraintes que pour les meubles bas, sans la présence de tiroirs.
Enfin, les meubles colonnes ont une hauteur de 208 cm et une profondeur de 36 cm ou de 58 cm. La largeur étant de 40 cm ou 60 cm. Ils comporteront deux portes superposées, dont celles du haut ayant une hauteur de 55 cm).
Outre les meubles de rangements, il existe divers outils électroménagers. Ils sont quasiment tous de type encastrable, dans des meubles de 60 cm de largeur. Mais certains d’entre eux possèdent des ouvertures de bas en haut (four, lave-vaisselle, …). Enfin, les chaises doivent avoir une hauteur de siège de 45 cm et les tables une hauteur de 75 cm.
Suivant ces contraintes, nous avons réalisés certains meubles simples comme des chaises, un bar et ses tabourets, une table. Mais également des objets soumis à des animations comme des meubles de rangements avec ouverture possible des portes. En revanche, certaines de ces conventions n’ont pas été respecté, comme pour la hauteur du siège des tabourets (90 cm), que nous avons fait assortis au bar.
Nous avons essayer de concevoir nos meubles d’une manière modulaire (s’apparentant à la programmation objet). C’est à dire en concevant les parties élémentaires de chaque meubles (comme les planches, portes, encadrement, …). Ainsi nous pouvons combiner ces différents éléments à loisir pour obtenir les divers meubles désirés. Donc cette optique, nous pouvons par la suite concevoir une base de données de ces éléments et meubles, pour notre logiciel.
2.2- L’agencement de la cuisine selon des critères fonctionnels
La cuisine que nous avons créée est donc rectangulaire. Nous l’avons choisi spécialement vaste pour pouvoir y faire figurer de nombreux objets, sans que cela ne paraisse trop charger. Ses dimensions sont de 5m sur 5m. Elle comporte une porte d’entrée et une fenêtre donnant sur un décor extérieur.
Elle est agrémentée de divers objets non représentatifs d’une cuisine, mais apportant une touche plus conviviale, tel qu’un tableau, un vase sur un socle, une petite télévision. Certains de ses objets ont été trouvé sur le web (le vase, le four les tabourets ou le frigo), d’autres ont été réalisé par nos soins (tous les meubles, le bar, ..). En effet, avec plus de temps, la réalisation aurait pu être étoffée. Par exemple, en ajoutant des sons ou en réalisant des meubles plus complexes (le frigo avec divers compartiments, des animations et des aliments présents).
Nos choix ont été guidé par un désir de fonctionnalité. Un plan 2D succinct de notre cuisine virtuelle va permettre de mieux s’en rendre compte.
On remarque une séparation de la cuisine en deux, grâce au bar. Au dessus du bar, le coin " cuisine " avec les appareils ménagers (four, cuisinière, rangements des ustensiles …). En dessous, un espace plus grand occupé par le téléviseur, des meubles de rangements et des sièges. Enfin sur la gauche, la table est proche de la fenêtre, pour une meilleure luminosité. Le frigo est à mi-chemin entre la table et le coin " cuisine ", toujours dans une optique de fonctionnalité.