Multimed Tools Appl (2012) 60:1–30 DOI 10.1007/s11042-011-0795-0 Example-based procedural modelling by geometric constraint solving Enrique Yeguas · Rafael Muñoz-Salinas · Rafael Medina-Carnicer Published online: 15 April 2011 © Springer Science+Business Media, LLC 2011 Abstract A novel method for procedurally modelling large, complex three– dimensional scenes is presented. Our approach is general-purpose and takes as input any three–dimensional model intuitively provided by a user. The algorithm exploits the adjacency between shapes and objects in the input model and computes an output model that extracts these features (constraints and adjacencies) and models the input. There are two important differences between our method and existing general-purpose model synthesis algorithms. The first is the use of a distribution for the surface or terrain on which the new model is placed. The second difference is that we automatically generate example-inherent constraints to assist the adjacency- based construction using constructive geometric constraint solving. Keywords Model synthesis · Procedural modelling · Example-based modelling · Geometric constraint solving · Mixture models 1 Introduction Complex three-dimensional models are required by applications in virtual envi- ronments, computer-aided design and manufacturing, computer gaming, animated movies, and medical simulations, to be compelling and realistic. Such geometric models, whose demand is large and expanding, are used to represent the design and shape of objects. The creation of both realistic and fantastic models, often containing very complex and widely-varying shapes and styles, is difficult and can be tremendously time-consuming. Procedural modelling refers to a wide variety of techniques for automatic model creation: large-scale automated art and content generation. A new procedural mod- E. Yeguas (B ) · R. Muñoz-Salinas · R. Medina-Carnicer Departamento de Informática y Análisis Numérico, Universidad de Córdoba, Campus de Rabanales, Edificio C3, Planta Baja, Córdoba, Spain e-mail: eyeguas@uco.es