Forma de gramática

Las gramáticas de forma en computación son una clase específica de sistemas de producción que generan formas geométricas.Por lo general, las formas son de 2 o 3 dimensiones, por lo que las gramáticas de formas son una forma de estudiar los lenguajes de 2 y 3 dimensiones. La base de las gramáticas de formas ha sido definida en un artículo seminal de George Stiny y James Gips en 1971.

Definición
Una gramática de formas consiste en reglas de formas y un motor de generación que selecciona y procesa reglas. Una regla de forma define cómo se puede transformar una forma existente (parte de a). Una regla de forma consta de dos partes separadas por una flecha que apunta de izquierda a derecha. La parte izquierda de la flecha se denomina lado izquierdo (LHS). Representa una condición en términos de una forma y un marcador. La parte derecha de la flecha se denomina lado derecho (RHS). Representa cómo se debe transformar la forma de LHS y dónde se coloca el marcador. El marcador ayuda a ubicar y orientar la nueva forma.

Una gramática de forma mínimamente consta de tres reglas de forma: una regla de inicio, al menos una regla de transformación y una regla de terminación. La regla de inicio es necesaria para comenzar el proceso de generación de formas. La regla de terminación es necesaria para detener el proceso de generación de forma. La forma más sencilla de detener el proceso es mediante una regla de forma que elimine el marcador. Las gramáticas de formas difieren mucho de las gramáticas de Chomsky: las reglas de producción pueden aplicarse en serie (como con las gramáticas de Chomsky) o en paralelo (no está permitido en las gramáticas de Chomsky), similar a las «producciones» en L-Systems.

Un sistema de gramática de formas también tiene un área de trabajo donde se muestra la geometría creada. El motor de generación comprueba la geometría existente, a menudo denominada forma de trabajo actual (CWS, Current Working Shape), para las condiciones que coinciden con el LHS de las reglas de forma. Las reglas de forma con LHS coincidente son elegibles para su uso. Si se aplica más de una regla, el motor de generación debe elegir qué regla aplicar. En el escenario alternativo, el motor primero elige una de las reglas de la gramática y luego trata de encontrar todas las coincidencias del LHS de esta regla en el CWS. Si hay varias coincidencias, el motor puede (dependiendo de su configuración / implementación)

Una gramática de forma se define formalmente como una 4 tupla  ,

  •  es un conjunto finito de personajes,
  •  es un conjunto finito de caracteres, por lo  .
  •  es un conjunto finito de reglas de producción
  •  es la figura inicial que consiste en elementos de  y  ,

Elementos de la multitud  son una disposición finita de cualquier cantidad de elementos  con cualquier escala u orientación.

Elementos desactivados  eso en una regla  fuera  , o en  las ocurrencias se llaman figuras terminales.

Elementos desactivados  son las denominadas figuras o marcadores no terminales. elementos  fuera  se llaman reglas de forma o reglas de producción y están en la forma  escrito.

El lado izquierdo  es una figura que consiste en un elemento  combinado con un elemento  ,

El lado correcto  es una figura y consiste en el mismo elemento  esta en  ocurre, el mismo elemento  en  , combinado con un elemento  , o el mismo elemento  en  , con un elemento adicional  combinado con un elemento ,

 es la figura inicial, que consta de elementos de  y  , Por lo general, consta de al menos un elemento que como  en una regla  en  ocurre.

Aplicar la regla a todas las coincidencias en paralelo,
aplicar la regla a todas las coincidencias en serie (lo que puede generar incoherencias) o
elija una de las coincidencias detectadas y aplique la regla solo a esta coincidencia.
Las gramáticas de forma son más útiles cuando se limitan a un problema de generación pequeño y bien definido, como el diseño de la vivienda y el refinamiento de la estructura. Debido a que las reglas de formas generalmente se definen en formas pequeñas, una gramática de formas puede contener rápidamente muchas reglas. Las villas palladianas en forma de gramática presentadas por William Mitchell, por ejemplo, contienen 69 reglas, que se aplican en ocho etapas.

Las gramáticas de forma paramétrica son una extensión de las gramáticas de formas. La nueva forma en el RHS de la regla de forma se define mediante parámetros para que pueda tener en cuenta más el contexto de las formas ya existentes. Esto típicamente afecta las proporciones internas de la nueva forma para que se pueda crear una mayor variedad de formas. De esta manera, se intenta hacer que las gramáticas de forma respondan a las condiciones estructurales, por ejemplo, el ancho de las vigas en las estructuras del techo, que depende del tramo.

A pesar de su popularidad y aplicabilidad en círculos académicos, las gramáticas de formas no han tenido un uso generalizado en aplicaciones genéricas de diseño asistido por computadora.
Descripción

Una gramática de formas consiste en reglas y un motor de generación que selecciona y procesa o calcula las reglas. Una regla define cómo se puede transformar una figura existente (o parte de ella) en el espacio geométrico. La definición de gramática de formas sigue la definición estándar de una gramática de estructuras de frases de Chomsky, utilizando formas en lugar de símbolos.

Una gramática de forma genera una figura mediante la aplicación recursiva de las reglas de forma, comenzando con la figura inicial. El resultado de aplicar la regla a una figura existente es siempre una nueva figura que consiste en la figura existente, con una ocurrencia del lado izquierdo de la regla en la nueva figura que se reemplaza por la figura en el lado derecho de la regla.

Una gramática de forma se compone mínimamente de tres reglas de producción (= reglas de forma). Una regla inicial, al menos una regla de transformación y una regla de terminación. La regla de inicio es necesaria para iniciar el proceso de generación, mientras que la regla de programación es necesaria para completar la generación. La forma más fácil de detener el proceso es eliminar el marcador (= no terminales). En contraste con las gramáticas de Chomsky, las reglas de producción en las gramáticas de forma se pueden aplicar no solo en serie sino también en paralelo, de forma similar a la secuencia de sistemas-L.

Un sistema de gramática de formas generalmente tiene un espacio de trabajo específico en el que se muestran las formas generadas. El motor de generación comprueba la figura existente para ver si coincide con las condiciones en el lado izquierdo de las reglas de forma. Si se encuentra más de una regla adecuada, el motor decide cuál aplicar. Un método alternativo es seleccionar primero una regla y luego buscar todas las coincidencias del lado izquierdo con la figura actual. Hay varias coincidencias, dependiendo de la implementación, ya sea

  • la regla aplicada a todas las coincidencias en paralelo,
  • la regla aplicada a todas las coincidencias en serie (podría dar lugar a incoherencias) o
  • una de las coincidencias seleccionadas y la regla aplicada solo a esta área.

Las gramáticas de forma paramétrica son una extensión de las gramáticas de formas. En lugar de las reglas de producción, Shape rule schema (  ), que consisten en figuras paramétricas. Al insertar valores concretos en las variables de  y  se definen nuevas reglas de forma, que luego se utilizan de la manera habitual para crear nuevas figuras. A través de esta generalización, se puede generar una mayor variación de figuras.

Aplicaciones
Las gramáticas de forma se presentaron originalmente para pinturas y esculturas, pero desde entonces se han utilizado principalmente en arquitectura (diseño arquitectónico asistido por computadora). Las gramáticas de forma son particularmente adecuadas para problemas pequeños y bien definidos, como la estructura y el diseño de interiores o fachadas de edificios. Las gramáticas de formas a menudo consisten en una gran cantidad de reglas. Por ejemplo, la gramática de la forma presentada por William Mitchell para la creación de una villa en el estilo del arquitecto italiano Andrea Palladio consta de 69 reglas, que se aplican en ocho pasos de implementación.

Similar a la arquitectura, las gramáticas de formas se han vuelto cada vez más importantes en los gráficos por computadora en las últimas décadas. Las gramáticas de forma se utilizan principalmente para el modelado de procedimientos de edificios o ciudades (por ejemplo, para películas o videojuegos). Forma Las gramáticas forman la base de numerosos sistemas desarrollados que usan reglas de producción para generar una variedad de modelos 3D diferentes. Ambos planos de calles de aspecto realista, así como las fachadas o los interiores de los edificios se pueden crear procedimentalmente utilizando Shape Grammars.

Otras áreas en las que se han aplicado gramáticas Shape incluyen el diseño industrial y la ingeniería.

Prototipos de software
Esta es una lista de prototipos de software que están disponibles en la web (varios de ellos son estrictamente sistemas de gramática en lugar de conjuntos):

Ambiente gramatical
UVA
SD2
Intérprete de gramática de forma
Shaper2D
Spapper
SubShapeDetector
Generador de edificio de Yingzao Fashi