Una gramática de formas es un formalismo que representa el pensamiento visual. Para ello, se utiliza un conjunto de reglas más un diseño inicial (una forma llamada axioma). Si la parte izquierda de alguna regla se encuentra en el diseño, entonces, se aplicará dicha regla. Veamos un ejemplo:
En la parte izquierda tenemos una regla y en la derecha un axioma. Como el axioma coincide con la parte izquierda de la regla, la regla se puede aplicar y obtendríamos un nuevo diseño con dos cubos en la parte derecha. Ahora podríamos volver a aplicar la regla a este nuevo diseño, cualquiera de los dos cuadrados coincidiría con la parte izquierda de la regla por lo que la regla sería nuevamente aplicable y tras su aplicación se añadiría otro cuadrado al diseño. En la siguiente figura se puede observar un diseño al que se le ha aplicado sucesivamente la regla anterior:
Nuestro programa permitirá al usuario trabajar con tres tipos de figuras: el cubo, el prisma triangular y el prisma hexagonal y cada una de ellas poseerá sus propias reglas que únicamente trabajarán con transformaciones por traslación y rotación.
Para tener un mayor control sobre nuestra gramática, se ha permitido el uso de restricciones. Las restricciones disponibles son las siguientes:
Si tenemos alguna restricción activa, podremos consultarla en la parte inferior izquierda del espacio de trabajo. Así como el número de piezas que hemos ido colocando en nuestro diseño.
Una vez introducido el concepto de gramática de formas, podemos continuar realizando un pequeño tutorial práctico.