Cookies help us deliver our services. By using our services, you agree to our use of cookies.


EcoMod splashscreen.png

The developed application allows interactive modelling of natural trees and has an integrated simulator which simulates life of trees within ecosystem considering real terrain data. The interactive modeller module firstly features rapid, yet flexible construction (parametrization) of new 3D procedural models for tree species. Parametrized procedural models can be used to instantiate differently personalized individual geometrical models of trees for same species, with different age and environmental impact. Obtained models of trees are used to animate spontaneous afforestation of forests during several centuries. To create a visually realistic distribution of trees across landscape, simulator for life of trees is used. The simulator considers real terrain data (DEM - Digital Terrain Model elevation data) and computes living conditions for trees to simulate biological principles. Main living conditions considered are height above sea level, slope, sun, and wind. Trees compete between them selves for survival. Seed distribution is also considered, emerging in communities of trees on similar areas. Several hints and experience is used from literature to gain performance of the simulation process and create a realistic visualization of an emerging ecosystems.

Progress: unpublished version is strongly parallelized, includes reconstruction of tree models from images, better statistical analysis, natural catastropy simulation, and interactive afforestation.

Author: Aleš Zamuda



The application allows geometry export and reuse for video rendering:

More video and previews: Presentation: EcoMod screencast

Implementation specifics

The EcoMod application is written in C++ and uses Qt4 and OpenGL, and is therefore operating system (Linux/Mac/Win32), processor architecture (32/64-bit), and C++ compiler (GCC, MinGW, MSVC) independent application, . It has three main interconnected modules, each having a special purpose:

1. Modeller of 3D geometrical natural trees is the first, very interactive component of the application. Procedural model of the tree bases on Holton strand model, but is modified/improved in many ways, e.g. for easier parametrization or additional animation techniques. It allows interactive parametrization of procedural tree model with use of graphs and other interactive widgets. Obtained parameters are saved in a flat file, where float numbers are saved in plain text format. These files can be loaded, as also some predefined library files are provided with the application. Rendering of a procedural model is done using OpenGL, and OpenGL context is reserved trough Qt4 widget QGLWidget.

2. Visualization of ecosystems is the second module, rendering a real terrain data landscape. Vertex buffer is used for landscape mesh visualization. The code uses the GLee library for work with the OpenGL extensions in a platform-independent manner. Tree models are obtained from the 3D modeller part, and placed on growth locations of trees from ecosystem growth simulation. A scene may include up to several hundred thousand trees, i.e. collectively more than 100,000,000 triangles. Instantiated procedural models are therefore simplified according to the level of detail, or removed by culling to speed up the visualization.

3. Artificial life simulation of trees/plants within the ecosystem is a real-data living condition, plant competition and plant spread model. Stochastic simulation with a LCG random generator is used. The real data is obtained from Digital Elevation Model (GIS-like data), and moisture, windiness and sunniness of loaded terrain is calculated on the fly. This component can be used as a framework, by using several of algorithms for other, multidisciplinary purposes.

Some scientific papers have already been published based on the application framework, as seen at, and everyone is encouraged to join the development (see as well). The application is also listed in software encyclopedia Softpedia.

Application is licensed under the terms of the GPL license version 2. Current full author (i.e. 30.000+ lines of code) is Aleš Zamuda. If you are using the application or further developing it, I were happy of any mail.

Files Download

Stable version (EcoMod 1.0) is accessible under GPL open source license:

Requirements to run: a feasible graphical card driver, and Qt4 under Linux and BSD.



(pdf) H. Hamann, Y. Khaluf, J. Botev, M. Divband Soorati, E. Ferrante, O. Kosak, J.-M. Montanier, S. Mostaghim, R. Redpath, J. Timmis, F. Veenstra, M. Wahby, A. Zamuda. Hybrid Societies: Challenges and Perspectives in the Design of Collective Behavior in Self-organizing Systems. Frontiers in Robotics and AI, 2016, vol. 3, no. 14. DOI 10.3389/frobt.2016.00014.

HybridSocieties FRAI 2016 thumb.png

(pdf) A. Zamuda, J. Brest. Vectorized Procedural Models for Animated Trees Reconstruction using Differential Evolution. Information Sciences, 2014, vol. 278, pp. 1-21. DOI 10.1016/j.ins.2014.04.037.


(pdf) A. Zamuda, J. Brest. Environmental Framework to Visualize Emergent Artificial Forest Ecosystems. Information Sciences, 2013, vol. 220, pp. 522-540. DOI 10.1016/j.ins.2012.07.031.


(pdf) A. Zamuda, J. Brest, B. Bošković, V. Žumer. Differential Evolution for Parameterized Procedural Woody Plant Models Reconstruction. Applied Soft Computing, 2011, vol. 11, no. 8, pp. 4904-4912. DOI 10.1016/j.asoc.2011.06.009.

(pdf) A. Zamuda, J. Brest. Tree Model Reconstruction Innovization Using Multi-objective Differential Evolution. 2012 IEEE World Congress on Computational Intelligence (IEEE WCCI 2012), Brisbane, Australia, 2012, pp. 575-582.

(pdf) A. Zamuda, J. Brest, B. Bošković, V. Žumer. Woody Plants Model Recognition by Differential Evolution. The 4th International Conference on Bioinspired Optimization Methods and their Applications (BIOMA 2010), 2010, pp. 205-215.

(pdf) A. Zamuda, J. Brest, N. Guid, and V. Žumer. Modelling, Simulation, and Visualization of Forest Ecosystems. The IEEE Region 8 EUROCON 2007: International conference on 'Computer as a tool', September 9-12, 2007, Warsaw, Poland, 2007, pp. 2600-2606.

(pdf) A. Zamuda, J. Brest, N. Guid, and V. Žumer. Construction of Virtual Trees within Ecosystems with EcoMod Tool. IPSI-2006 Slovenia, International Conference on Advances in the Internet, Processing, Systems, and Interdisciplinary Research, Book of Abstracts, 2006, pp. 15.

(pdf) A. Zamuda. Modeliranje, simulacija in upodabljanje drevesnih ekosistemov. Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, diplomska naloga, 2006, pp. .

(pdf) A. Zamuda, J. Brest, V. Žumer. Razpoznava numerično kodiranih proceduralnih modelov iz slik naravnih dreves z uporabo diferencialne evolucije. Zbornik osemnajste mednarodne Elektrotehniške in računalniške konference ERK, 2009, pp. 171-174.

(pdf) A. Zamuda, N. Guid. Modeliranje, simulacija in upodabljanje gozdov. Zbornik petnajste mednarodne Elektrotehniške in računalniške konference ERK, 2006, pp. 391-392.

(pdf) A. Zamuda, D. Strnad. Interaktivni modelirnik realističnih animiranih dreves. Zbornik trinajste mednarodne Elektrotehniške in računalniške konference ERK, 2004, pp. 11-14.

(pdf) A. Zamuda. Modeliranje, simulacija in upodabljanje gozdov z aplikacijo EcoMod. Eureka! Inovacije mladih - Natečaj najbolj inventivni in podjetniško usmerjeni projekti 2008, 2008, pp. 1-4.

(pdf) A. Zamuda. Modeliranje, simulacija in upodabljanje gozdov. Abakus, 2007, pp. 22-23.

Presentations and Events

External links