Forma la grammatica

Le grammatiche di forme nel calcolo sono una classe specifica di sistemi di produzione che generano forme geometriche. Tipicamente, le forme sono 2 o 3 dimensionali, quindi le grammatiche delle forme sono un modo per studiare i linguaggi bidimensionali e tridimensionali. Il fondamento delle grammatiche di forma è stato definito in un articolo di George Stiny e James Gips nel 1971.

Definizione
Una grammatica di forma consiste in regole di forma e un motore di generazione che seleziona ed elabora le regole. Una regola di forma definisce come una forma esistente (parte di una) può essere trasformata. Una regola di forma è composta da due parti separate da una freccia che punta da sinistra a destra. La parte sinistra della freccia è denominata lato sinistro (LHS). Rappresenta una condizione in termini di forma e marker. La parte destra della freccia è denominata lato destro (RHS).Descrive come la forma LHS dovrebbe essere trasformata e dove è posizionato il marcatore. Il marcatore aiuta a localizzare e ad orientare la nuova forma.

Una grammatica di forma consiste in minimo di tre regole di forma: una regola iniziale, almeno una regola di trasformazione e una regola di terminazione. La regola di avvio è necessaria per avviare il processo di generazione della forma. La regola di terminazione è necessaria per interrompere il processo di generazione della forma. Il modo più semplice per interrompere il processo è una regola di forma che rimuove il marcatore. Le grammatiche delle forme differiscono dalle grammatiche di Chomsky per un aspetto importante: le regole di produzione possono essere applicate in serie (come con le grammatiche di Chomsky) o in parallelo (non consentito nelle grammatiche di Chomsky), in modo simile al modo in cui le “produzioni” vengono eseguite in L-Systems.

Un sistema di grammatica delle forme ha inoltre un’area di lavoro in cui viene visualizzata la geometria creata. Il motore di generazione controlla la geometria esistente, spesso denominata Current Working Shape (CWS), per condizioni che corrispondono al LHS delle regole di forma. Le regole di forma con LHS corrispondente sono idonee per l’uso. Se si applica più di una regola, il motore di generazione deve scegliere quale regola applicare. Nello scenario alternativo, il motore prima sceglie una delle regole grammaticali e quindi cerca di trovare tutte le corrispondenze dell’LHS di questa regola nella CWS. Se ci sono diverse corrispondenze, il motore può (a seconda della sua configurazione / implementazione)

Una grammatica di forma è formalmente definita come una tupla di 4 ,

  •  è un insieme finito di personaggi,
  •  è un insieme finito di personaggi, quindi  .
  •  è un insieme finito di regole di produzione
  •  è la cifra iniziale costituita da elementi di  e  ,

Elementi della folla  sono una disposizione finita di un numero qualsiasi di elementi con qualsiasi ridimensionamento o orientamento.

Elementi fuori  quello in una regola  su  o in  le occorrenze sono chiamate figure terminali.

Elementi fuori  sono le cosiddette figure non terminali o marcatori. elementi  su si chiamano regole di forma o regole di produzione e sono nella forma  scritto.

Il lato sinistro  è una figura composta da un elemento  combinato con un elemento  ,

Il lato corretto  è una figura e consiste nello stesso elemento  questo in  si verifica, lo stesso elemento  nel  , combinato con un elemento  o lo stesso elemento  nel  , con un elemento aggiuntivo  combinato con un elemento  ,

 è la cifra iniziale, costituita da elementi di  e  , Di solito consiste di almeno un elemento che come  in una regola  nel  si verifica.

Applicare la regola a tutte le partite in parallelo,
applicare la regola a tutte le partite in serie (che potrebbe portare a incongruenze) o
scegli una delle partite rilevate e applica la regola solo a questa partita.
Le grammatiche di forme sono più utili quando sono limitate a un problema di generazione piccolo e ben definito, come i layout degli alloggi e il perfezionamento della struttura. Poiché le regole di forma in genere sono definite su forme piccole, una grammatica di forma può contenere rapidamente un sacco di regole. Le ville palladiane modellano la grammatica presentata da William Mitchell ad esempio contiene 69 regole, applicate in otto fasi.

Le grammatiche di forma parametrica sono un’estensione delle grammatiche di forma. La nuova forma nel RHS della regola di forma è definita dai parametri in modo che possa prendere in considerazione più del contesto delle forme già esistenti. Questo in genere influisce sulle proporzioni interne della nuova forma in modo che sia possibile creare una maggiore varietà di forme. In questo modo, vengono fatti tentativi per far sì che le grammatiche di forma rispondano alle condizioni strutturali, ad esempio la larghezza delle travi nelle strutture del tetto che dipende dallo span.

Nonostante la loro popolarità e applicabilità nei circoli accademici, le grammatiche di forme non hanno trovato un uso diffuso nelle applicazioni generiche di Computer Aided Design.

Descrizione
Una grammatica di forma è costituita da regole e un motore di generazione che seleziona, elabora o calcola le regole. Una regola definisce come una figura esistente (o parte di essa) può essere trasformata nello spazio geometrico. La definizione di una grammatica di forma segue la definizione standard di una grammatica della struttura a frase di Chomsky, utilizzando forme anziché simboli.

Una grammatura di forma genera una figura applicando in modo ricorsivo le regole di forma, iniziando dalla figura iniziale. Il risultato dell’applicazione della regola a una figura esistente è sempre una nuova figura composta dalla figura esistente, con un’occorrenza del lato sinistro della regola nella nuova figura che viene sostituita dalla figura sul lato destro della regola.
Una grammatica di forma è composta in minima parte da tre regole di produzione (= regole di forma). Una regola iniziale, almeno una regola di trasformazione e una regola di terminazione. La regola di avvio è necessaria per avviare il processo di generazione, mentre la regola di pianificazione è necessaria per completare la generazione. Il modo più semplice per interrompere il processo è rimuovere il marcatore (= non terminale). A differenza delle grammatiche di Chomsky, le regole di produzione nelle grammatiche di forme possono essere applicate non solo in serie ma anche in parallelo, in modo simile alla sequenza dei sistemi L.

Un sistema di grammatica delle forme di solito ha un’area di lavoro specifica in cui vengono visualizzate le forme generate. Il motore di generazione controlla la figura esistente per le partite alle condizioni sul lato sinistro delle regole di forma. Se viene trovata più di una regola adatta, il motore decide quale applicare. Un metodo alternativo consiste nel selezionare prima una regola e quindi cercare tutte le corrispondenze del lato sinistro con la figura corrente. Ci sono diverse partite, a seconda dell’implementazione

  • la regola applicata a tutte le partite in parallelo,
  • la regola applicata a tutte le partite in serie (potrebbe portare a incongruenze) o
  • una delle partite selezionate e la regola applicata solo a quest’area.

Le grammatiche di forma parametrica sono un’estensione delle grammatiche di forma. Invece delle regole di produzione, lo schema delle regole di forma (  ), che consistono in figure parametriche. Inserendo valori concreti nelle variabili di  e  vengono definite nuove regole di forma, che vengono quindi utilizzate nel solito modo per creare nuove figure. Attraverso questa generalizzazione, è possibile generare una più ampia variazione di figure.

applicazioni
Le grammatiche di forme erano originariamente presentate per dipinti e sculture, ma da allora hanno trovato principalmente applicazione in architettura (progettazione architettonica assistita dal computer). Le grammatiche di forme sono particolarmente adatte per problemi piccoli e ben definiti, come la struttura e la disposizione degli interni o delle facciate degli edifici. Le grammatiche di forme consistono molto spesso in un gran numero di regole. Ad esempio, la grammatica della forma presentata da William Mitchell per la creazione di una villa nello stile dell’architetto italiano Andrea Palladio consiste di 69 regole, che vengono applicate in otto fasi di implementazione.

Analogamente all’architettura, le grammatiche di forma sono diventate sempre più importanti nella computer grafica negli ultimi decenni. Le grammatiche di forme sono utilizzate principalmente per la modellazione procedurale di edifici o città (ad es. Per film o videogiochi). I Grammatici di forma costituiscono la base per numerosi sistemi sviluppati che utilizzano regole di produzione per generare una varietà di diversi modelli 3D. Sia i piani stradali dall’aspetto realistico, sia le facciate o gli interni degli edifici possono essere creati proceduralmente utilizzando Shape Grammars.

Altre aree in cui sono state applicate le grammatiche di forme includono la progettazione industriale e l’ingegneria.

Prototipi software
Questa è una lista di prototipi software disponibili sul web (molti di questi sono sistemi grammaticali piuttosto definiti):

Ambiente grammaticale
UVA
SD2
Interprete di grammatica della forma
Shaper2D
spapper
SubShapeDetector
Generatore di edifici Yingzao Fashi