Domov / Dejavnosti / Raziskovalna dejavnost / EcoMod
EcoMod: umetno življenje rastlin

EcoMod je računalniška aplikacija, ki omogoča interaktivno oblikovanje naravnih dreves, s katerim je integriran še simulator življenja dreves v ekosistemu, ki upošteva realne terenske podatke. Modul za interaktivno oblikovanje najprej omogoča hitro in fleksibilno izdelavo (parametrizacijo) novih 3D proceduralnih modelov za prikaz naravnih dreves. Parametrizirani proceduralni modeli so uporabljeni za prikaz primerkov različno personaliziranih individualnih geometričnih modelov dreves za enako vrsto, z različno starostjo in vplivi okolja. Dobljeni modeli dreves so uporabljeni za animacijo spontanega zaraščanja gozdov skozi več stoletij. Za izdelavo na pogled realistične porazdelitve dreves po terenu je uporabljen simulator življenja dreves. Simulator upošteva realne terenske podatke (višinski podatki DMR – digitalni model reliefa) in izračuna življenjske pogoje za drevesa, da bi tako simuliral biološka načela. Glavni upoštevani življenjski pogoji so nadmorska višina, naklon, sonce in veter. Drevesa na podlagi ugodnosti teh pogojev tekmujejo za preživetje. Upoštevan je tudi način širjenja semen, zaradi katerega se skupine dreves pojavljajo na enakih območjih. Pri gradnji aplikacije so bili upoštevani številni napotki iz znanstvene in strokovne literature, za povečanje zmogljivosti simulacijskega procesa in priprave realističnega prikazovanja nastajajočih ekosistemov.
Napredek: neobjavljena različica je močneje paralelizirana, vsebuje rekonstrukcijo in modeliranje slik več pogledov, močnejšo statistično analizo, simulacijo naravnih katastrof in interaktivno pogozdovanje.
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.











Aplikacija omogoča tudi izvoz geometrije dreves za pripravo videa:
Več videov: Trees & Forrests animation & evolution
Implementacijske specifike
Aplikacija EcoMod je zapisana v programskem jeziku C++ in uporablja Qt4 in OpenGL, zato je neodvisna od operacijskega sistema (Linux/Mac/Win32,…), procesorske arhitekture (32/64 bitna) in C++ prevajalnika (GCC, MinGW, MSVC). Sestavljajo jo trije glavni medsebojno povezani moduli, izmed katerih ima vsak poseben namen:
1. Modelirnik geometrije 3D naravnih dreves je prva, visoko interaktivna komponenta aplikacije. Proceduralni model drevesa temelji na Holtonovem žilnem modelu, ki je še dopolnjen in spremenjen na več načinov, npr. za lažjo parametrizacijo ali več animacijskih tehnik. Omogoča interaktivno parametrizacijo proceduralnega modela drevesa z uporabo grafov in drugih interaktivnih gradnikov. Dobljeni parametri se shranijo v preprosto datoteko, kjer so realna števila zapisana v berljivi besedilni obliki. Takšne datoteke je možno kasneje naložiti, z aplikacijo pa prihaja tudi osnovna knjižnica primerov zmodeliranih dreves. Upodobitev proceduralnega modela je opravljena z OpenGL, okenski kontekst za OpenGL pa je pridobljen s Qt4 gradnikom QGLWidget.
2. Vizualizator ekosistemov je druga komponenta, ki upodablja realni pokrajino realnega terena. Za prikaz površja so uporabljena polja oglišč. Programska koda uporablja GLee knjižnico za delo z OpenGL razširitvami za platformno neodvisnost le-teh. Drevesni modeli so dobljeni iz komponente za 3D modeliranje ter nameščeni na mesta rasti dreves iz simulacije rasti ekosistema. Scena lahko vsebuje do več sto tisoč dreves, t.j. do skupaj več kot 100.000.000 trikotnikov. Izdelani primerki proceduralnih modelov so zato za pohitritev prikazovanja poenostavljeni glede na stopnjo podrobnosti ali odstranjeni zaradi obrezovanja na vidni volumen.
3. Simulacija umetnega življenja dreves oz. rastlin znotraj ekosistema uporablja realne podatke življenjskih pogojev, tekmovanje med rastlinami in model razširjenja rastlin. Stohastična simulacija uporablja LCG generator spevdo-naključnih števil. Realni podatki so dobljeni iz digitalnega modela reliefa (podatki iz GIS-sistemov), vlažnost, vetrovnost in osončenost naloženega terena pa izračunani sproti. Ta komponenta je lahko uporabljena kot ogrodje, za uporabo številnih njenih algoritmov in modelov v drugih, multi-disciplinarnih področjih.
Na temeljih zgrajenega aplikacijskega ogrodja je bilo objavljenih nekaj znanstvenih člankov in vsakdo je povabljen tudi, da se pridruži nadaljnemu razvoju aplikacije (glej tudi http://sourceforge.net/projects/ecomod/). Aplikacija je navedena tudi v enciklopediji programske opreme Softpedia.
Aplikacija ima licenčne pogoje licence GPL license version 2. Trenutno je polni avtor celotnega izvornega koda (tj. 30.000+ vrstic kode) Aleš Zamuda. Ker je aplikacija zastonj in prosto dostopna, bi bil zelo vesel kakršnegakoli sporočila, da se aplikacija uporablja ali nadalje razvija.
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 http://labraj.uni-mb.si/~ales/ecomod, and everyone is encouraged to join the development (see http://sourceforge.net/projects/ecomod/ 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.
Datoteke
Stabilna različica (EcoMod 1.0) je dostopna pod odprtokodno licenco GPL:
- Linux (ecomod-linux-1.0.zip),
- BSD (ecomod-bsd-1.0.zip),
- Windows (ecomod-win32-1.0.zip),
- Izvorna koda (ecomod-src-1.0.zip).
Zahteve za zagon: primeren gonilnik za grafično kartico in Qt4 pod Linux in BSD sistemi.
Nagrade
- najpomembnejši znanstveni rezultat leta 2011 v programski skupini P2-0041 Računalniški sistemi, metodologije in inteligentne storitve
- zlata medalja na: Mednarodni sejem inovacij SIIF 2012 (Seul, Koreja)
- nagrada Univerze v Mariboru za raziskovalno delo (nagrada Andreja Perlacha) – ob Rektorjevem dnevu Univerze v Mariboru 2008 (priznanje)
- tri priznanja FERI za znanstveno raziskovalno delo – ob dnevu fakultete FERI 2006 (priznanje), dnevu fakultete FERI 2007 (6.12.2007, priznanje) in Dnevu FERI 2008 (4.12.2008)
- spominsko darilo ministrice MVZT za vidne rezultate na mednarodnih tekmovanjih ob sprejemu za študente, vodstva univerz in fakultet ter javnih raziskovalnih zavodov
- zmaga na tekmovanju študentskih referatov ERK ’06 (potrdilo) in nato sprejetje (2. mar 2007) med 5 najboljših za nastop na tekmovanju IEEE Regije 8 (Evropa, Afrika, Bližnji vzhod), ki je bilo na Poljskem, od 9. do 12. septembra 2007, (novica iz IEEE strani)

- prva nagrada in zlata plaketa na natečaju za najbolj inventivni in podjetniško usmerjeni projekt Eureka! mladi 2008, Ljubljana, 22. 10. 2008
Objave
Hybrid societies: Challenges and perspectives in the design of collective behavior in self-organizing systems Journal Article
In: Frontiers Robotics AI, vol. 3, no. APR, pp. 14, 2016.
Vectorized Procedural Models for Animated Trees Reconstruction using Differential Evolution Journal Article
In: Information Sciences, vol. 278, pp. 1-21, 2014.
Environmental Framework to Visualize Emergent Artificial Forest Ecosystems Journal Article
In: Information Sciences, vol. 220, pp. 522-540, 2013.
Tree Model Reconstruction Innovization Using Multi-objective Differential Evolution Proceedings Article
In: 2012 IEEE World Congress on Computational Intelligence (IEEE WCCI 2012), Brisbane, Australia, pp. 575-582, 2012.
Differential Evolution for Parameterized Procedural Woody Plant Models Reconstruction Journal Article
In: Applied Soft Computing, vol. 11, iss. 8, pp. 4904-4912, 2011.
Woody plants model recognition by differential evolution Proceedings Article
In: The Fourth International Conference on Bioinspired Optimization Methods and their Applications, pp. 205 – 215, 2010.
Modelling, Simulation, and Visualization of Forest Ecosystems Proceedings Article
In: The IEEE Region 8 EUROCON 2007: International conference on; Computer as a tool; September 9-12, 2007, Warsaw, Poland, pp. 2600-2606, Institute of Electrical and Electronics Engineers, 2007, ISBN: 978-1-4244-0812-2.

