Metodología de Diseño Shape Grammar

Proceso estructurado de 3 etapas para desarrollar gramáticas de forma efectivas.

1

Selección de Referencias

  • Productos relacionados de la misma marca/línea
  • Productos del usuario objetivo
  • Productos aspiracionales
  • Formas del contexto o gustos del usuario
2

Desarrollo

  • Identificar formas y transformaciones en referencias
  • Identificar elementos comunes
  • Recrear referencias usando las gramáticas definidas
3

Evaluación

  • Generar diseños consistentes con referencias
  • Verificar coherencia formal
  • Iterar y refinar configuraciones

Casos de Estudio Detallados

Ejemplos prácticos con configuraciones específicas y explicaciones paso a paso.

Ejemplo 1: Sistema de Lámparas

Complejidad: Intermedia

Características del Sistema:

  • Arquitectura: 3 partes (Base, Cuerpo, Cabeza)
  • Formas principales: cylinder, cube, sphere
  • Transformaciones clave: bevel, twist, scale

Configuración JSON Específica:

{
  "product": "Examples/lamp.blend",
  "samples": 15,
  "form_detail": {
    "Base": {
      "number_transf": 2,
      "max_number_forms": 1,
      "forms": {
        "cylinder": {"use": true},
        "cube": {"use": true}
      },
      "transformations": {
        "bevel": {"factor": 0.3},
        "scale": {"axis": "z", "factor": 0.8}
      }
    },
    "Cuerpo": {
      "number_transf": 1,
      "max_number_forms": 1,
      "forms": {
        "cylinder": {"use": true}
      },
      "transformations": {
        "twist": {"axis": "z", "max_twist": 0.5}
      }
    },
    "Cabeza": {
      "number_transf": 1,
      "max_number_forms": 1,
      "forms": {
        "sphere": {"use": true},
        "dome_cut": {"use": true}
      },
      "transformations": {
        "scale": {"axis": "x", "factor": 1.2}
      }
    }
  }
}

Ejemplo 2: Colección de Botellas

Complejidad: Avanzada

Metodología Aplicada:

  • Referencias: Análisis de botellas existentes
  • Formas: cube_loft, cylinder, revolution
  • Transformaciones: array (texturas), bevel (siempre), pull (solo cilindros)

Reglas Específicas:

  • "bevel always *" - Biselado aplicado a todas las formas
  • "array except cube_loft" - Array excepto en formas loft
  • "pull only_with cylinder" - Pull solo en cilindros

Configuración con Reglas Avanzadas:

{
  "product": "Examples/bottle.blend",
  "samples": 20,
  "form_detail": {
    "Cuerpo": {
      "number_transf": 3,
      "max_number_forms": 1,
      "forms": {
        "cube_loft": {
          "shape": "concave", 
          "max_displacement": 0.5,
          "factor": 0.3
        },
        "cylinder": {"use": true},
        "revolution": {"factor": 0.4}
      },
      "transformations": {
        "bevel": {"factor": 0.2},
        "array": {"axis": "z", "max_count": 3},
        "pull": {"factor": 0.6, "direction": "up"}
      },
      "rules": [
        "bevel always *",
        "array except cube_loft",
        "pull only_with cylinder"
      ]
    },
    "Cuello": {
      "number_transf": 1,
      "max_number_forms": 1,
      "forms": {
        "cylinder": {"use": true}
      },
      "transformations": {
        "taper": {"axis": "z"}
      }
    }
  }
}

Ejemplo 3: Serie de Sillas

Complejidad: Experto

Características Especiales:

  • Partes opcionales: Espaldar configurable
  • Patrones: Modificadores para patas repetidas
  • Operaciones booleanas: Para detalles complejos

Configuración con Partes Opcionales:

{
  "product": "Examples/chair.blend",
  "samples": 12,
  "form_detail": {
    "Asiento": {
      "number_transf": 2,
      "max_number_forms": 1,
      "optional": false,
      "forms": {
        "cube": {"use": true},
        "quadrilateral": {
          "fixed_axis": "z", 
          "max_displacement": 0.3
        }
      },
      "transformations": {
        "bevel": {"factor": 0.4},
        "bend": {"axis": "y"}
      }
    },
    "Espaldar": {
      "number_transf": 1,
      "max_number_forms": 1,
      "optional": true,
      "forms": {
        "cube": {"use": true}
      },
      "transformations": {
        "rotation": {"axis": "x", "factor": 0.2}
      }
    },
    "Patas": {
      "number_transf": 1,
      "max_number_forms": 1,
      "optional": false,
      "forms": {
        "cylinder": {"use": true}
      },
      "transformations": {
        "taper": {"axis": "z"}
      }
    }
  }
}

Tips y Mejores Prácticas

Consejos prácticos para obtener los mejores resultados con Shape Grammar.

🔄 Iteración Múltiple

Crear múltiples configuraciones para el mismo diseño. Cada iteración refina y mejora los resultados.

📈 Complejidad Gradual

Pasar de lo simple a lo complejo gradualmente. Comenzar con formas básicas antes de agregar transformaciones avanzadas.

👁️ Revisión 3D

No confiar solo en renders - revisar modelos 3D directamente para verificar la calidad geométrica.

🔧 Uso de Mirror

Usar Mirror para simetrías en formas irregulares, especialmente útil con polígonos y cuadriláteros.

📊 Análisis de Valores

Analizar archivo de valores para entender qué configuraciones funcionan mejor y por qué.

🎯 Refinamiento Iterativo

Iterar múltiples veces sobre la misma configuración ajustando parámetros específicos.

Configuraciones de Ejemplo Rápidas

Configuraciones listas para usar en diferentes tipos de productos.

Joyería Básica

{
  "Anillo": {
    "forms": {"torus": {}},
    "transformations": {
      "texture": {"strength_factor": 0.3}
    }
  }
}

Maceta Simple

{
  "Contenedor": {
    "forms": {"cylinder": {}},
    "transformations": {
      "taper": {"axis": "z"},
      "array": {"axis": "z", "max_count": 2}
    }
  }
}

Vaso/Copa

{
  "Cuerpo": {
    "forms": {"revolution": {"factor": 0.5}},
    "transformations": {
      "bevel": {"factor": 0.2}
    },
    "rules": ["bevel always *"]
  }
}

Elemento Decorativo

{
  "Forma": {
    "forms": {"polygon": {"max_vertice": 8}},
    "transformations": {
      "twist": {"axis": "z", "max_twist": 1.0},
      "mirror": {"axis": "x"}
    }
  }
}