Programsko rješenje - Deforma
U ovom radu cilj je bio prouÄiti modele deformabilnih elemenata i implementirati programsko rjeÅ¡enje koje Äe simulirati ponaÅ¡anje navedenih entiteta.
Programsko okruženje u kojem je aplikacija Deforma razvijana je Visual Studio 2010. Izabrani programski jezik je C#. Ovaj izbor uÄinjen je kako bi se
što lakše predstavio zadani koncept.
Za iscrtavanje je izabrana OpenTK biblioteka. Ona implementira aplikacijsko programsko suÄelje (engl. Application programming interface, API) OpenGL te
omoguÄava koriÅ¡tenje u programskom jeziku C#. OpenGL je otvorena standardna biblioteka za pisanje aplikacija koje koriste 2D i 3D raÄunalnu grafiku.
Deforma je napravljena prema praksi dobrog objektnog oblikovanja. Takav naÄin omoguÄuje da se postojeÄe rjeÅ¡enje može lako nadograditi novim modulima,
dodavati nove, te prenijeti dio ili u potpunosti model domene u novu aplikaciju. Aplikacija je napisana pomoÄu oblikovnog obrasca MVP (engl. Model View Presenter).
MVP oblikovni obrazac
Model Pogled Prezenter je oblikovni obrazac koji je izveden iz obrasca Model Pogled Kontroler (engl. Model View Controller, MVC). MVP je za razliku od poznatijeg
oblikovnog obrasca MVC bolje prilagoÄen radu sa Windows Formama pomoÄu kojih je napravljena aplikacija.
Oblikovni obrazac Model Pogled Prezenter veÄ u nazivu sadrži graÄevne jedinice na temelju kojih se grade aplikacije koje ga primjenjuju. Model oznaÄava model domene,
odnosno dio aplikacije u kojem se nalazi logika problema koji se pokušava riješiti. Pogled je dio koji je zaslužan za interakciju sa korisnikom. U njemu se nalazi
suÄelje, te je to jedini dio aplikacije kojeg korisnik vidi. Prezenter je zadužen za povezivanje modela i pogleda. Na temelju korisnikovih akcija nad pogledom,
kontroler odluÄuje koje Äe ulaze poslati pojedinim dijelovima modela. Model Å¡alje izlaze kontroleru, a kontroler bira koji Äe dijelovi pogleda biti prikazani
korisniku za najbolji moguÄi prikaz dobivenih rezultata.
![]() |
Slika 1. Prikaz oblikovnih obrazaca MVP i MVC |
Aplikacija deforma
Deforma je osmiÅ¡ljena kako bi se pomoÄu konaÄnih elemenata modelirali elastiÄni i plastiÄni objekti. Aplikacija je takoÄer odijeljena na omoguÄavanje
dvodimenzionalnih i trodimenzionalnih simulacija. Na scenu svake od tih simulacija moguÄe je dodavati deformabilne objekte, te jednostavne nedeforrmabilne
objekte koji služe kako bi se omoguÄili sudari i simulirale deformacije. U aplikaciji je implementirana i sila gravitacije koja uvodi dinamiku u sustav i
u svakom trenutku simulacije pomiÄe deformabilne objekte.
![]() |
Slika 2. Prikaz aplikacije Deforma |
Upute za korištenje aplikacije
Pokretanjem aplikacije otvara se intuitivno korisniÄko suÄelje preko kojeg se mogu dodavati razni tipovi deformabilnih objekata, jednostavni objekti koji predstavljaju
zapreke gibanju deformabilnih objekata. Nakon dodavanja svih željenih objekata simulacija se može pokrenuti nakon Äega se poÄinje prikazivati simulacija u prozoru na
desnoj strani suÄelja.
PomoÄu tipaka W, S, A, D, R i F može se mjenjati položaj oÄiÅ¡ta, a pomoÄu tipki 1, 2 i 3 naÄin prikazivanja iscrtavanja.