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

 

Uvod ..................................................................................................... 2

 

1.1 

Prikaz ravne ploče

...................................................................................................... 

2

 

1.2

 

Prikaz cilindra ............................................................................................................ 

2

 

2

 

Alati korišćeni u razvoju softvera ........................................................ 3

 

2.1

 

Visual Studio, C++ programski jezik ........................................................................... 3 

2.2

 

MFC ............................................................................................................................ 3 

2.3

 

OpenGL ...................................................................................................................... 3 

2.4

 

MatLAB

®

 ..................................................................................................................... 3 

3

 

Medod “Cellular automata” - CA ......................................................... 4

 

3.1 

Uvod u CA .................................................................................................................. 

4

 

3.2

 

Osnovni oblici CA ....................................................................................................... 5 

3.3 

Matematički modeli

 .................................................................................................. 5 

4

 

Model CA – 

simulacija “živih ćelija” .................................................. 7

 

4.1

 

Model CA implementiran u softver ........................................................................... 7 

4.2

 

Princip rada CA modela ............................................................................................. 8 

4.3

 

Pravilo “rađanja” ćelija

 ............................................................................................ 

10

 

4.4

 

Pravilo “umiranja” ćelija

 .......................................................................................... 11 

5

 

Fitovanje parametara .......................................................................... 12

 

5.1 

Uvod u fitovanje ...................................................................................................... 

12

 

5.2

 

Algoritam za fitovanje ............................................................................................. 

14

 

5.3 

Rezultati fitovanja test modela ............................................................................... 15 

5.4

 

Fitovanje realnog modela ........................................................................................ 

16

 

5.5 

Rezultati fitovanja realnog modela (zečeva)

 ........................................................... 18 

5.6

 

Koraci fitovanja ........................................................................................................ 19 

6

 

Softverske aplikacije .......................................................................... 21

 

6.1

 

Opis i upoznavanje sa softverom ............................................................................ 

21

 

6.2

 

Aplikacija SolverCA .................................................................................................. 

21

 

6.3

 

Opis ulaznog fajla “data.txt”

 .................................................................................... 

22

 

6.4

 

Aplikacija DialogCA .................................................................................................. 

23

 

6.5

 

FittingCA aplikacija .................................................................................................. 

24

 

7

 

Zaključak ............................................................................................ 24

 

8

 

Reference ............................................................................................ 25

 

 

background image

Mašinski Fakultet u Kragujevcu 

 

Predmet: Programski jezici 1 

Student: Dalibor Nikolić 26/2004

 

 

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. 

 

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. 

 

 

background image

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. 

Želiš da pročitaš svih 27 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti