TopHeader_english Graz University of Technology Faculty of Computer Science Home Fraunhofer Fraunhofer IGD
language_german
icon_login
User: anonymous

Download Euclides
Version 2.00.0

The modeling tool set Euclides has been presented during November 8th-13th 2010 at the "Conference on Digital Heritage EuroMed 2010" in Lemesos, Cyprus.

Its integrated compiler has been presented during November 21st-28th 2010 at the "Conference on Computational Logics, Algebras, Programming, Tools, and Benchmarking Computation Tools 2010" in Lisbon, Portugal. The corresponding paper has been selected as "Best Paper".

Euclides

Integrated Development Environment for Procedural Modeling

Christoph Schinko, CGV, Martin Strobl, CGV & Torsten Ullrich, Fraunhofer Austria

Generative Modeling

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.

Euclides

Modeling with JavaScipt

This procedural modeling editor is based on the programming language JavaScript. It offers various important properties:

  • JavaScript is a structured programming language featuring a rather intuitive syntax, which is easy to read, easy to understand and easy to write.
     
  • JavaScript is already used by non-computer scientists and therefore a lot of documentation and tutorials to introduce the language exist.
     
  • JavaScript is not using error-prone techniques like pointers or memory management.
     
However, in order to be used for procedural modeling, JavaScript is missing data types like vectors and matrices. Therefore the Euclides compiler includes libraries for generative modeling: mathematics, geometry, shape processing, etc.


Euclides IDE

Euclides - A generative Meta-Modeller

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

parsing > validating > translating
offers many advantages:
  • Syntax and consistency checks are performed as early in the processing pipeline as possible.
  • The consistent intermediate representation serves as a basis for back-end exporters to different languages.


Euclides IDE

Examples

Example of a generative model

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.

Example of a generative model

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.

 
logo_hyperwave
© 2008-2010 Computer Graphics & Knowledge Visualization, TU Graz Powered by Hyperwave