Le projet Engloformes : un modeleur déclaratif de boîtes
Présentation du projet
Le projet EngloFormes consiste à disposer de manière déclarative des boîtes englobantes de bâtiments ou de parties de bâtiments [DeM97]. Il constitue un cas particulier du projet VoluFormes [Chau94]. Dans ce dernier, les boîtes sont définies dans l’espace à trois dimensions. En particulier, leur position n’est pas contrainte. Par contre, dans le projet EngloFormes, les boîtes sont <<posées>> sur un plan représentant un sol.
Dans ce projet, l’utilisateur décrit des boîtes englobantes de bâtiments dans un univers dont les dimensions sont fixées a priori. Il peut ainsi décrire ses dimensions sa position dans le plan horizontal. La position en hauteur est calculée pour qu’elle soit posée sur le plan inférieur de l’univers. La boîte englobante est donc définie à partir du concept de boîte 3D présente dans la bibliothèque. La définition est modifiée afin de la <<poser>> sur le sol (le concept de position en <<y>> n’est plus générateur mais est calculé à partir de la hauteur). De plus, un nouveau concept non-générateur est ajouté pour la description de la surface au sol de la boîte et le cube est généré par énumération, à l’exception de la hauteur qui sera produite par tirage aléatoire.
Définition des propriétés
Ainsi construit, EngloFormes permet de décrire un type particulier de cubes. Les concepts et les propriétés de base disponibles sont donnés par le tableau ci-dessous.
Concept |
Propriétés |
Hauteur | bas(se) ; moyen(ne) ; haut(e) |
Largeur | étroit(e) ; moyen(ne) ; large |
Profondeur | faible ; moyen(ne) ; profond(e) |
x | faible ; moyen(ne) ; important(e) |
y | faible ; moyen(ne) ; important(e) |
z | faible ; moyen(ne) ; important(e) |
Couleur | Cf. ChromoFormes (mode Liste) |
Surface | faible ; moyen(ne) ; important(e) |
L’utilisateur peut fournir comme description : <<Il y a 3 cubes. Soit le cube A. A est vert sombre. A est grand. A n’est pas profond. Soit le cube B. B est rouge brique. La largeur de B est très importante. B n’est pas grand. Soit le cube C. C est or. C est derrière A. Le centre de C est à droite. C est plus grand que B.>>. Les scènes de la figure 1 sont des solutions possibles.
Ces scènes ont été sélectionnées parmi un très grand nombre de solutions. Elles représentent plutôt des classes de solutions. Elles ont été choisie pour illustrer la grande diversité obtenue à partir d’une même description. Sachant que toutes les solutions répondent au problème qu’il a posé, le concepteur sélectionnera sa solution en fonction de critères qui, cette fois-ci, sont implicites.