Razvoj softvera koji simulira rast ćelija tkiva, primenom metode: “cellular automata”
Predmet: Programski jezici 1
Dalibor Nikolić 26/2004
Mašinski Fakultetu Kragujevcu
Student
Razvoj softvera koji
simulira rast ćelija tkiva,
primenom metode:
“cellular automata”
Profesor: Nenad Grujović
Mašinski Fakultet u Kragujevcu
Predmet: Programski jezici 1
Student: Dalibor Nikolić 26/2004
1
Alati korišćeni u razvoju softvera ........................................................ 3
Medod “Cellular automata” - CA ......................................................... 4
.................................................................................................. 5
simulacija “živih ćelija” .................................................. 7
............................................................................................
.......................................................................................... 11
Fitovanje parametara .......................................................................... 12
Rezultati fitovanja realnog modela (zečeva)
........................................................... 18
Softverske aplikacije .......................................................................... 21
....................................................................................

Mašinski Fakultet u Kragujevcu
Predmet: Programski jezici 1
Student: Dalibor Nikolić 26/2004
3
2
Alati korišćeni u razvoju softvera
2.1
Visual Studio, C++ programski jezik
Visual Studio je razvojno okruženje razvijeno od strane Microsoft-a u kojem je
implementirano više različitih programskih jezika, raznih alata za pomoć pri
programiranju, skupova biblioteka (npr. MFC)
i sl. Za izradu ovog projekta korišćen
je Visual Studio 2010 i programski jezik C++ koji dolazi kao deo paketa VS2010.
C++ je objektno orijentisani programski jezik
, čiji je autor Bjarne Stroustrup.
Objektno orijentisani način rada čini kod čitljivim i razumljivim, samim tim
jednostavnijim za upotrebu. Ako uz to uzmemo u obzir da je C++ nasledio gotovo sve
funkcije C jezika, š
to mu omogućava da lako manipuliše memorijom i da joj pristupa
na vrlo „niskom” nivou
uz veliki opseg mogućnosti, što sve skupa čini programski
jezik C++ vrlo moćnim alatom za rad. Aplikacije izrađene u C++ jeziku su stabilne,
pouzdane i brze.
2.2
MFC
Microsoft Foundation Class (MFC) je biblioteka gotovih klasa (“application
framework”) koja se koristi za programiranje aplikacija koje rade na Microsoft
Windows operativnim sistemima.
Klase su napisane u C++ u formi objektno orijentisanog programiranja, vrlo su
funkcionalne
i pružaju veliku pomoć pri izradi Windows aplikacija kao što su rad sa
prozorima, menijima, dialog prozorima, kontrolama i sl.
2.3
OpenGL
OpenGL je biblioteka gotovih klasa koje služe za razvoj interaktivnih 2D i 3D
grafickih aplikacija. Od svoje pojave 1992. godine, OpenGL je postao najcešce
korišcen i najviše podržavan programski interfejs za 2D i 3D graficke aplikacije.
Svaka graficka aplikacija koja zahteva maksimalne performanse – od 3D animacije do
CAD aplikacija za vizelnu simulaciju – može
da koristi OpenGL mogućnosti. Sve
OpenGL aplikacije funkcionišu na svakom hardveru saglasnom sa OpenGL API, bez
obzira na operativni sistem. Svi elementi OpenGL okruženja –
čak i sadržaj memorije
tekstura i bafera okvira –
se mogu dobiti pomoću jedne OpenGL aplikacije.
2.4
MatLAB
®
MATLAB je softversko okruženje za
numeričke proračune i programski jezik koji
proizvodi firma MathWorks. MatLAB
omogućava lako manipulisanje matricama,
Mašinski Fakultet u Kragujevcu
Predmet: Programski jezici 1
Student: Dalibor Nikolić 26/2004
4
iscrtanje funkcija i fitovanje, implementaciju algoritama
, stvaranje korisničkog
interfejsa kao i povezivanje sa programima pisanim u drugim jezicima.
MATLAB je sk
raćenica od "MATrix LABoratory". Razvio ga je krajem 1970-
ih Cleve Moler, šef katedre za informatiku na Univerzitetu Novi Meksiko.
3
Medod “Cellular automata” - CA
3.1
Uvod u CA
Cellular automata pretstavlja
diskretizovan model fizičkog sistema, u kojem su
diskretizovane veličine prostor i vreme.
Prostor je diskretizovan u manj
e konačne geometriski pravilne ćelije. U zavisnosti od
problema možemo koristiti 1D, 2D, ili 3D prostor.
Najednostavniji oblici ćelija u 2D
prostoru su kvadrati, a u 3D kocke.
Ćelije se mogu nalaziti u neograničenom broju različitih stanja (uslovljeno
problemom koji se posmatra),
u ovom radu će celije imati samo
dva stanje
(ispunjeno
polje tj. živa ćelija – prazno polje tj. nema ćelije).
Stanje svake ćelije se menja (osvežava) u diskretnim vremenskim intervalima. Novo
stanje neke ćelije u diskretnom trenutku t+∆t zavisi od okoline ćelije u trenutku t.
Istorijski gledano metod CA se razvija
četrdesetih godina dvadesetog veka kao
matematička metoda, ali razvoj računarskih tehnologija omogućava njeno lakše i brže
korišćenje pa CA pronalazi primenu u mnogim naukama, među kojima su: fizika,
matematika, hemija, teorijska biologija, arhitektura itd. CA je koristan alat za
rešavanje problema
koji nisu deterministički rešivi npr. predviđanje kretanja cena na
berzi itd.

Mašinski Fakultet u Kragujevcu
Predmet: Programski jezici 1
Student: Dalibor Nikolić 26/2004
6
Kao što je ranije pomenuto stanje ćelije se u svakom diskretnom trenutku menja
(osvežava) po nekom matematičkom pravilu, razvijena su mnoga matematička pravila
[1], na modelu (Slika 3) dat je
primer iz koga je moguće zaključiti koliko se menja
rezultat u zavisnosti od izabranog pravila.
Slika 3 Primer -
CA formiranje ćelija u prostoru u zavisnosti od matematičkog pravila, slika preuzeta iz [1]
Najbolje možemo da razumem
o koncept CA posmatrajući 2D model Conway's game
of live [2], koji funkcioniše po jednostavnim pravilima
•
Svaka (živa) ćelija (okružena) sa manje od dve žive susedne ćelije nestaje
(umire), kao usamljena.
•
Svaka (živa) ćelija (okružena) sa više od tri žive susedne ćelije nestaje
(umire), zbog prenaseljenosti.
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti