Grammaire de forme

Les grammaires de forme dans le calcul sont une classe spécifique de systèmes de production qui génèrent des formes géométriques. Typiquement, les formes sont en 2 ou 3 dimensions, donc les grammaires de forme sont un moyen d’étudier les langages à 2 et 3 dimensions. Le fondement des grammaires de forme a été défini dans un article fondateur par George Stiny et James Gips en 1971.

Définition
Une grammaire de forme se compose de règles de forme et d’un moteur de génération qui sélectionne et traite les règles. Une règle de forme définit comment une forme (partie d’une) existante peut être transformée. Une règle de forme se compose de deux parties séparées par une flèche pointant de gauche à droite. La partie gauche de la flèche est appelée côté gauche (LHS). Il représente une condition en termes de forme et de marqueur. La partie droite de la flèche est appelée Right-Hand Side (RHS). Il décrit comment la forme LHS doit être transformée et où le marqueur est positionné. Le marqueur aide à localiser et à orienter la nouvelle forme.

Une grammaire de forme se compose au minimum de trois règles de forme: une règle de début, au moins une règle de transformation et une règle de fin. La règle de démarrage est nécessaire pour démarrer le processus de génération de forme. La règle de terminaison est nécessaire pour arrêter le processus de génération de forme. Le moyen le plus simple d’arrêter le processus est d’utiliser une règle de forme qui supprime le marqueur. Les grammaires de formes diffèrent grandement des grammaires de Chomsky: les règles de production peuvent être appliquées en série (comme pour les grammaires de Chomsky) ou en parallèle (non autorisées dans les grammaires de Chomsky), comme dans les systèmes de production.

Un système de grammaire de forme a en plus une zone de travail où la géométrie créée est affichée. Le moteur de génération vérifie la géométrie existante, souvent appelée CWS (Current Working Shape), pour les conditions correspondant à la LHS des règles de forme. Les règles de forme avec LHS correspondant sont éligibles à l’utilisation. Si plusieurs règles s’appliquent, le moteur de génération doit choisir la règle à appliquer. Dans le scénario alternatif, le moteur choisit d’abord l’une des règles de grammaire, puis essaie de trouver toutes les correspondances du LHS de cette règle dans le CWS. S’il y a plusieurs correspondances, le moteur peut (en fonction de sa configuration / implémentation)

Une grammaire de forme est formellement définie comme un 4- tuple  ,

  •  est un ensemble fini de caractères,
  •  est un ensemble fini de caractères, donc  .
  •  est un ensemble fini de règles de production
  •  est la figure de départ constituée d’éléments de  et  ,

Éléments de la foule  sont un arrangement fini d’un nombre quelconque d’éléments  avec toute mise à l’échelle ou orientation.

Éléments désactivés  que dans une règle  en dehors  , ou dans  les occurrences sont appelées figures terminales.

Éléments désactivés  sont des figures ou des marqueurs dits non-terminaux. éléments  en dehors  sont appelés des règles de forme ou des règles de production et sont sous la forme  écrit.

Le côté gauche  est une figure composée d’un élément  combiné avec un éléments  ,

Le côté droit  est une figure et se compose soit du même élément  en ce  se produit, le même élément  dans  , combiné avec un élément  ou le même élément  dans  , avec un élément supplémentaire  combiné avec un élément  ,

 est la figure de départ, constituée d’éléments de  et  , Il se compose généralement d’au moins un élément que  dans une règle  dans  se produit.

Appliquer la règle à tous les matches en parallèle,
appliquer la règle à tous les matchs en série (ce qui peut entraîner des incohérences) ou
choisissez l’une des correspondances détectées et appliquez la règle uniquement à cette correspondance.
Les grammaires de forme sont très utiles lorsqu’elles sont limitées à un problème de génération de petite taille et bien défini, comme les dispositions de boîtier et le raffinement de la structure. Parce que les règles de forme sont généralement définies sur de petites formes, une grammaire de forme peut rapidement contenir beaucoup de règles. La grammaire palladienne forme la grammaire présentée par William Mitchell par exemple contient 69 règles, qui sont appliquées tout au long de huit étapes.

Les grammaires de forme paramétrique sont une extension des grammaires de forme. La nouvelle forme dans la RHS de la règle de forme est définie par des paramètres afin qu’elle puisse prendre en compte plus du contexte des formes déjà existantes. Cela affecte généralement les proportions internes de la nouvelle forme, ce qui permet de créer une plus grande variété de formes. De cette manière, des tentatives sont faites pour que les grammaires de forme répondent aux conditions structurelles, par exemple la largeur des poutres dans les structures de toit qui dépend de la portée.

Malgré leur popularité et leur applicabilité dans les cercles académiques, les grammaires de forme n’ont pas été largement utilisées dans les applications génériques de conception assistée par ordinateur.
La description

Une grammaire de forme se compose de règles et d’un moteur de génération qui sélectionne et traite ou calcule les règles. Une règle définit comment une figure existante (ou une partie de celle-ci) peut être transformée dans l’espace géométrique. La définition d’une grammaire de forme suit la définition standard d’une grammaire de structure de phrase de Chomsky, en utilisant des formes au lieu de symboles.

Une grammaire de forme génère une figure en appliquant récursivement les règles de forme, en commençant par la figure de départ. Le résultat de l’application de la règle à une figure existante est toujours une nouvelle figure constituée de la figure existante, avec une occurrence de la partie gauche de la règle dans la nouvelle figure étant remplacée par la figure sur le côté droit de la règle.

Une grammaire de forme est minimalement composée de trois règles de production (= règles de forme). Une règle initiale, au moins une règle de transformation et une règle de fin. La règle de démarrage est requise pour démarrer le processus de génération, tandis que la règle de planification est nécessaire pour terminer la génération. Le moyen le plus simple d’arrêter le processus est de retirer le marqueur (= non-terminaux). Contrairement aux grammaires de Chomsky, les règles de production dans les grammaires de forme peuvent être appliquées non seulement en série, mais aussi en parallèle, de manière similaire à la séquence des systèmes L.

Un système de grammaire de forme a généralement un espace de travail spécifique dans lequel les formes générées sont affichées. Le moteur de génération vérifie la correspondance de la figure existante avec les conditions sur le côté gauche des règles de forme. Si plus d’une règle appropriée est trouvée, le moteur décide lequel appliquer. Une méthode alternative consiste à sélectionner d’abord une règle puis à rechercher toutes les correspondances du côté gauche avec la figure en cours. Il y a plusieurs matches, en fonction de la mise en œuvre soit

  • la règle appliquée à tous les matches en parallèle,
  • la règle s’appliquait à tous les matches en série (pouvant entraîner des incohérences) ou
  • l’une des correspondances sélectionnées et la règle appliquée uniquement à cette zone.

Les grammaires de forme paramétrique sont une extension des grammaires de forme. Au lieu des règles de production, Schéma de la règle Shape (  ), qui consistent en des figures paramétriques. En insérant des valeurs concrètes dans les variables de  et  De nouvelles règles de forme sont définies, qui sont ensuite utilisées de manière habituelle pour créer de nouvelles figures. Grâce à cette généralisation, une plus grande variation de chiffres peut être générée.

Applications
Les grammaires de forme ont été présentées à l’origine pour des peintures et des sculptures, mais depuis lors ont principalement trouvé l’application dans l’architecture (conception architecturale assistée par ordinateur). Les grammaires de forme sont particulièrement adaptées aux petits problèmes bien définis, tels que la structure et la disposition des intérieurs ou des façades des bâtiments. Les grammaires de forme consistent très souvent en un grand nombre de règles. Par exemple, la grammaire de forme présentée par William Mitchell pour la création d’une villa dans le style de l’architecte italien Andrea Palladio se compose de 69 règles, qui sont appliquées en huit étapes de mise en œuvre.

Semblable à l’architecture, les grammaires de forme sont devenues de plus en plus importantes dans l’infographie ces dernières décennies. Les grammaires de forme sont utilisées principalement pour la modélisation procédurale des bâtiments ou des villes (par exemple pour les films ou les jeux vidéo). Les Grammaires de forme forment la base de nombreux systèmes développés qui utilisent des règles de production pour générer une variété de modèles 3D différents. Des plans de rues réalistes, ainsi que des façades ou des intérieurs de bâtiments peuvent être créés de manière procédurale à l’aide de Grammaires de formes.

D’autres domaines dans lesquels les grammaires de forme ont été appliquées comprennent la conception industrielle et l’ingénierie.

Prototypes logiciels
Voici une liste de prototypes de logiciels disponibles sur le web (plusieurs d’entre eux sont à proprement parler des systèmes de grammaire plutôt définis):

Environnement grammatical
GRAIN DE RAISIN
SD2
Interprète de grammaire de forme
Shaper2D
spapper
SubShapeDetector
Générateur de bâtiment Yingzao fashi