Generative modeling techniques have rapidly gained attention throughout the
past few years. Many researchers enforced the creation of generative models due
to its many advantages. All objects with well-organized structures and repetitive
forms can be described procedurally. In these cases generative modeling is
superior to conventional approaches.
Its strength lies in the compact description compared to conventional approaches,
which does not depend on the counter of primitives but on the model's complexity
itself. Particularly large scale models and scenes - such as plants, buildings,
cities, and landscapes - can be described efficiently. Therefore generative
descriptions make complex models manageable as they allow identifying a
shape's high-level parameters.
Another advantage of procedural modeling techniques is the included expert
knowledge within an object description; e.g. classification schemes used in
architecture, archaeology, civil engineering, etc. can be mapped to procedures.
For a specific object only its type and its instantiation parameters have to be
identified. This identification is required by digital library services: markup,
indexing, and retrieval.
This procedural modeling editor is based on the programming language JavaScript. It offers various important properties:
Euclides differs from other modeling environments in a very important aspect: target independence. In our system a model's source code is no interpreted but parsed into an intermediate representation. After a validation process it is translated to the target language. The process of
This amphitheater model has been created in Euclides. Due to its highly regular structure the procedural model only consists of 355 lines of code. This figure shows its visualization using the Java target platform. Using this target it is possible to distribute a generative model as an executable jar file.
This example shows a cathedral construction kit. Its main building blocks have been created by thingiverse. They can be arranged arbitrarily using a few lines of code. In this example the arrangement is controlled by nine high level parameters which are exposed in the user interface. The whole cathedral construction kit is realized in 456 lines of JavaScript code. This figure shows its visualization using the Java target platform.