• Aucun résultat trouvé

Grammaire de murs

Dans le document Modélisation automatique de zones urbaines (Page 120-126)

Chapitre 3 G´ en´ eration de fa¸ cades

3.2 Gabarits de Fa¸ cades

3.2.1 Grammaire de murs

Nous avons choisi une repr´esentation `a base de grammaire formelle pour d´ecrire nos fa¸cades de bˆatiments. En prenant en compte les r´esultats impressionnants trouv´es dans [WWSR03], nous avons voulu proposer un syst`eme aussi efficace, mais plus simple `a appr´ehender et `a utiliser. Nous avons d´ecid´e de travailler sur une grammaire de murs qui peut ˆetre d´efinie comme une split grammar qui utiliserait des murs comme constituants (plutˆot que des formes g´eom´etriques). Nous avons atteint un ensemble minimum de cinq r`egles : une r`egle terminale (voir 3.2.1.2), deux r`egles de positionnement (voir 3.2.1.3 et 3.2.1.4) et deux r`egles de r´ep´etition (voir 3.2.1.6 et 3.2.1.5). Ce choix nous permet de g´erer ais´ement les instanciations et r´ep´etitions de n’importe quel mur donn´e.

Grammaire formelle : une grammaire formelle est compos´ee d’un ensemble fini de symboles terminaux (les lettres du langage formel), d’un ensemble fini de symboles non-terminaux,

d’un symbole initial et d’un ensemble fini de r`egles de production avec une partie gauche form´ee d’une lettre du langage et une partie droite compos´ee d’un mot du langage (form´e de symboles terminaux et non terminaux).

A −→ B

Chaque r`egle (mur) est `a mˆeme de d´eterminer la place dont elle a besoin (i.e. dimensions minimales et maximales dans les directions horizontales et verticales) par un simple calcul r´ecursif sur elle-mˆeme et ses r`egles filles. Parmi les r`egles g´eom´etriquement possibles (gaba- rit de fa¸cades), une r`egle est s´electionn´ee pour la fa¸cade courante, ce choix ´etant guid´e par les mot-clefs ´eventuellement pr´esents au sein du gabarit et de la description du bˆatiment.

3.2.1.1 Mur abstrait (W )

La classe abstraite Wall stocke les informations qui sont partag´ees par les diff´erentes r`egles (cf. Figure 3.3 pour le diagramme de classe associ´e). Elle contient le mat´eriau de fond ainsi que les dimensions finales du mur (horizontale et verticale). Les dimensions minimales et maximales sont calcul´ees en fonction des dimensions des ´el´ements internes du mur. De plus, l’utilisateur peut d´efinir des dimensions pr´ef´erentielles qui seront automatiquement employ´ees si elles sont g´eom´etriquement valides.

Dans les descriptions suivantes, W peut repr´esenter n’importe quelle instance d’une classe fille d’un mur abstrait.

3.2.1.2 Pan de mur (W P )

Le pan de mur (ou Wall Panel) est l’´el´ement le plus simple de notre syst`eme et, actuellement, notre unique symbole terminal. En plus des informations stock´ees dans le mur abstrait, un pan de mur peut r´ef´erencer un objet tridimensionnel ou un mat´eriau de d´ecoration comme par exemple, une texture de fenˆetre. Dans le premier cas, l’objet tridimensionnel sera instanci´e au centre de la surface du pan de mur. Quand un tel objet est instanci´e, l’utilisateur peut d´ecider de cr´eer les faces du polygone du pan de mur.

Grˆace `a ces choix, un certain nombre de cas probl´ematiques peut ˆetre g´er´e. Ce m´ecanisme est utile par exemple dans le cas d’emploi d’objets mod´elisant des halls d’entr´ee : si les faces du

pan de mur ´etaient g´en´er´ees, elles masqueraient l’objet instanci´e `a l’int´erieur du bˆatiment (cf. Figure 3.4).

Figure 3.4. Un exemple de suppression des faces de fond d’un pan de mur

3.2.1.3 Mur `a bordures (BW )

Un mur `a bordures (Bordered Wall) est un mur avec quatre marges (gauche, droite, haut et bas) et un ´el´ement central qui r´ef´erence un mur (cf. Figure 3.5-gauche). Chaque marge poss`ede une taille et une politique de redimensionnement qui peut ˆetre minimum, maximum ou fixe. La valeur par d´efaut d’une marge est minimum, ce qui signifie que la bordure associ´ee ne peut pas ˆetre plus petite que la valeur de sa taille.

BW −→ W

3.2.1.4 Mur extrud´e (EW )

Un mur extrud´e (Extruded Wall) est un mur qui extrude selon une certaine profondeur le mur qu’il r´ef´erence (cf. Figure 3.5-droite et 3.7). Cette profondeur peut ˆetre positive (resp. n´egative) : le mur fils et les faces de profondeurs seront plac´es devant le plan de la fa¸cade (resp. derri`ere). La Figure 3.6 illustre l’utilisation de la profondeur. Quatre bool´eens sont utilis´es pour d´efinir si les faces de profondeur doivent ˆetre g´en´er´ees. De plus, un mur extrud´e peut r´ef´erencer un objet tridimensionnel qui sera instanci´e `a sa surface (i.e. avec une profondeur nulle). Cet objet est utilis´e `a des fins d´ecoratives comme la rambarde de la Figure 3.5.

Figure 3.6. Mur extrud´e avec une profondeur n´egative.

Figure 3.7. Un exemple de mur extrud´e r´ef´eren¸cant un objet tridimensionnel (les piliers au premier plan).

3.2.1.5 Grille de mur (W G)

Une grille de mur contient un unique mur qui sera r´ep´et´e dans une ou deux directions (verti- calement et/ou horizontalement). Pour chacune de ces directions, le nombre de r´ep´etitions est contrˆol´e par les cardinalit´es maximales et minimales (h fois dans la direction horizontale et v fois dans la direction verticale).

W G −→ W(1−h)(1−v)

Figure 3.8. Un exemple de grille de mur horizontale.

Figure 3.9. Un exemple de grille de mur bidirectionelle.

3.2.1.6 Liste de murs (W L)

Une liste de murs (Wall List) contient plusieurs murs ainsi qu’une orientation qui peut ˆetre ho- rizontale ou verticale. Les murs contenus dans la liste de murs seront instanci´es de la gauche vers la droite (pour une orientation horizontale) ou de bas en haut (pour une orientation verticale) afin de couvrir la zone de fa¸cade affect´ee `a la liste de murs. La r´epartition de l’espace d´edi´e `

a la liste de murs entre ses diff´erents composants prend en compte les dimensions maximales, minimales et pr´ef´erentielles de chacun des composants. l’algorithme choisi est d´ecrit dans le paragraphe 3.2.2.

W L −→ W1W2...Wn

3.2.2 Mise en œuvre

Le diagramme de classes de la Figure 3.3 pr´esente la hi´erarchie de classes de notre syst`eme de r`egles. Les fonctions les plus complexes sont celles qui calculent la taille des murs d´eriv´es d’un

Figure 3.10. Un exemple de liste de mur.

mur donn´e. Cette fonction de redimensionnement est d´efinie de fa¸con virtuelle au sein de la classe qui g`ere les murs abstraits, puis red´efinie pour chacune des classes filles. L’Algorithme 3.11 d´etaille la mise en œuvre de cette fonction pour la r`egle liste de murs.

Dans cet algorithme, R est la r`egle liste de murs, F est la zone de fa¸cade au sein de laquelle on essaye d’instancier la liste de murs et les W sont les murs contenus dans cette liste de murs. Les valeurs WHmin, WHmax et WHpref repr´esentent les dimensions minimales, maximales

et pr´ef´er´ees de chacun des murs fils. Ces trois dimensions ont ´et´e calcul´ees pr´ealablement par chacun de ces murs. Le redimensionnement s’effectue de fa¸con `a s´electionner pour chacun des murs une dimension aussi proche que possible de la dimension pr´ef´erentielle.

Dans le document Modélisation automatique de zones urbaines (Page 120-126)