Sadržaj:

Mjerenje promjena sile generirane vlaknaste mreže kada je zamijenjeno vanjskom silom: 8 koraka
Mjerenje promjena sile generirane vlaknaste mreže kada je zamijenjeno vanjskom silom: 8 koraka

Video: Mjerenje promjena sile generirane vlaknaste mreže kada je zamijenjeno vanjskom silom: 8 koraka

Video: Mjerenje promjena sile generirane vlaknaste mreže kada je zamijenjeno vanjskom silom: 8 koraka
Video: ПРАВДА О РЕИНКАРНАЦИИ. Что будет после смерти? Откровение оккультиста (English, CS Subtitles) 2024, Novembar
Anonim
Mjerenje promjena sile generirane vlaknaste mreže kada je zamijenjeno vanjskom silom
Mjerenje promjena sile generirane vlaknaste mreže kada je zamijenjeno vanjskom silom

Ćelije su u stanju da stupe u interakciju sa svojim okolnim vanćelijskim matriksom (ECM) i mogu se primeniti, ali i reagovati na sile koje ECM deluje. Za naš projekt simuliramo međusobno povezanu mrežu vlakana koja bi djelovala kao ECM i vidimo kako se mreža mijenja kao odgovor na pomicanje jedne od točaka. ECM je modeliran kao međusobno povezani sistem opruga koje su u početku u ravnoteži s neto silom od nule. Kako se sila primjenjuje na mrežu kao odgovor na pomicanje točke, pokušavamo navesti povezane točke da reagiraju na silu na takav način da se pokušaju vratiti u ravnotežu. Sila se prati jednadžbom F = k*x gdje je k konstanta opruge, a x promjena duljine vlakana. Ova simulacija može pomoći u stvaranju općeg razumijevanja širenja sile u vlaknastim mrežama koje se na kraju može koristiti za simulaciju mehanotransdukcije.

Korak 1: Generirajte NxN matricu uniformnih kvadrata

Generirajte NxN matricu uniformnih kvadrata
Generirajte NxN matricu uniformnih kvadrata
Generirajte NxN matricu uniformnih kvadrata
Generirajte NxN matricu uniformnih kvadrata

Za početak koda, odabiremo N koje će odrediti dimenzije naše mreže (NxN). Vrijednost N može se ručno promijeniti kako bi se po potrebi promijenile mrežne dimenzije. U ovom primjeru, N = 8, dakle imamo mrežu tačaka 8x8. Nakon što generiramo matricu, povezujemo sve točke u matrici koje imaju dužinu od 1 jedinice koristeći formulu udaljenosti, distance = sqrt ((x2-x1)^2+(y2-y1)^2). Na taj način dobivamo mrežu kvadrata koji su svi jednako razmaknuti za 1 jedinicu. To se može vidjeti na slici 101.

Korak 2: Nasumično postavljanje mreže

Randomiziranje mreže
Randomiziranje mreže
Randomiziranje mreže
Randomiziranje mreže

U ovom koraku želimo randomizirati sve lokacije tačaka osim vanjskih točaka koje će činiti našu granicu. Da bismo to učinili, prvo pronalazimo sve koordinate matrice koje su jednake 0 ili N. Ove su točke one koje čine granicu. Za neograničene točke, lokacija se nasumično dodaje dodavanjem različite slučajne vrijednosti od -5 do 0,5 na obje pozicije x i y. Iscrtana nasumična slika može se vidjeti na slici 1.

Korak 3: Pronađite nove udaljenosti

Nabavite nove udaljenosti
Nabavite nove udaljenosti

Nakon što se napravi naša randomizirana mreža, ponovno pronalazimo udaljenost između spojenih točaka koristeći formulu udaljenosti.

Korak 4: Odaberite točku i usporedite udaljenost od te točke do drugih

Odaberite točku i usporedite udaljenost od te točke do drugih
Odaberite točku i usporedite udaljenost od te točke do drugih
Odaberite točku i usporedite udaljenost od te točke do drugih
Odaberite točku i usporedite udaljenost od te točke do drugih
Odaberite točku i usporedite udaljenost od te točke do drugih
Odaberite točku i usporedite udaljenost od te točke do drugih

U ovom koraku pomoću kursora možemo odabrati točku interesa, kao što je prikazano na slici 2. Ne morate pomaknuti kursor točno na točku jer će je kôd prilagoditi najbližoj točki veze. Da bismo to učinili, prvo izračunamo udaljenost između svih spojenih točaka i točke koju smo upravo odabrali. Nakon što se izračunaju sve udaljenosti, odabiremo točku s najmanjom udaljenošću od odabrane točke da postane stvarna odabrana točka.

Korak 5: Pređite na novu tačku

Pomaknite se na novu točku
Pomaknite se na novu točku
Pomaknite se na novu točku
Pomaknite se na novu točku
Pomaknite se na novu točku
Pomaknite se na novu točku

U ovom koraku, pomoću točke koja je odabrana u prethodnom koraku, premještamo točku na novu lokaciju. Ovo kretanje se vrši odabirom nove pozicije kursorom koja će zamijeniti prethodnu poziciju. Ovaj pokret će se koristiti za simulaciju naprezanja zbog promjene dužine opruge. Na potpuno plavoj slici odabire se nova lokacija. Na sljedećoj slici kretanje se može vizualizirati pomoću narančastih veza koje predstavljaju nove lokacije, za razliku od plavih veza koje su bile stare lokacije.

Korak 6: Sila = K*udaljenost

Sila = K*udaljenost
Sila = K*udaljenost

U ovom koraku primjenjujemo silu jednadžbe = k*udaljenost, gdje je k konstanta 10 za kolagenska vlakna. Budući da mreža vlakana počinje u ravnotežnom stanju, neto sila je 0. Stvaramo nulti vektor dužine matrice koju smo generirali ranije za predstavljanje ove ravnoteže.

Korak 7: Promijenite kretanje mreže zbog pomaknute točke

Promijenite kretanje mreže zbog pomaknute točke
Promijenite kretanje mreže zbog pomaknute točke
Promijenite kretanje mreže zbog pomaknute točke
Promijenite kretanje mreže zbog pomaknute točke
Promijenite kretanje mreže zbog pomaknute točke
Promijenite kretanje mreže zbog pomaknute točke
Promijenite kretanje mreže zbog pomaknute točke
Promijenite kretanje mreže zbog pomaknute točke

U ovom koraku simuliramo kretanje mreže kao odgovor na pomicanje tačke kako bismo se vratili u stanje ravnoteže. Počinjemo s pronalaženjem novih udaljenosti između dvije točke. Na ovaj način možemo pronaći promjenu dužine vlakana gledajući razliku između stare i nove udaljenosti. Također možemo vidjeti koje su se točke pomaknule, kao i točke s kojima su povezane usporedbom novih i starih lokacija tačaka. To nam omogućuje da vidimo koje bi se točke trebale pomicati kao odgovor na primijenjenu silu. Smjer kretanja može se raščlaniti na njegove x i y komponente, dajući 2D vektor smjera. Koristeći vrijednost k, promjenu udaljenosti i smjer vektora, možemo izračunati vektor sile koji se može koristiti za pomicanje naših točaka prema ravnoteži. Ovaj dio koda pokrećemo 100 puta, svaki put krećući se u koracima sile*.1. Pokretanje koda 100 puta omogućuje nam da na kraju opet postignemo ravnotežu i držeći granične uvjete vidimo promjenu u mreži umjesto čitave smjene. Kretanje mreže može se vidjeti na slici 3, pri čemu su žute pomjerane pozicije, a plave prethodne.

Korak 8: Gotov kod

U ovom odjeljku nalazi se kopija našeg koda. Slobodno ga izmijenite tako da odgovara vašim potrebama modeliranjem različitih mreža!

Preporučuje se: