Obsah:

Měření změn síly generované vláknové sítě při přemístění vnější silou: 8 kroků
Měření změn síly generované vláknové sítě při přemístění vnější silou: 8 kroků

Video: Měření změn síly generované vláknové sítě při přemístění vnější silou: 8 kroků

Video: Měření změn síly generované vláknové sítě při přemístění vnější silou: 8 kroků
Video: Měření síly při nárazu 2024, Listopad
Anonim
Měření změn síly generované vláknové sítě při přemístění vnější silou
Měření změn síly generované vláknové sítě při přemístění vnější silou

Buňky jsou schopné interagovat se svou okolní extracelulární matricí (ECM) a mohou jak působit, tak reagovat na síly vyvíjené ECM. Pro náš projekt simulujeme propojenou síť vláken, která by fungovala jako ECM, a sledujeme, jak se síť mění v reakci na pohyb jednoho z bodů. ECM je modelován jako propojený systém pružin, které jsou zpočátku v rovnováze s čistou silou nula. Jak síla působí na síť v reakci na pohyb bodu, snažíme se přimět spojené body, aby reagovaly na sílu takovým způsobem, že se pokusí vrátit do rovnováhy. Síla je monitorována rovnicí F = k*x, kde k je pružinová konstanta a x je změna délky vlákna. Tato simulace může poskytnout obecné porozumění šíření síly ve vláknitých sítích, které lze nakonec použít k simulaci mechanotransdukce.

Krok 1: Vytvořte matici NxN jednotných čtverců

Vytvořte matici NxN jednotných čtverců
Vytvořte matici NxN jednotných čtverců
Vytvořte matici NxN jednotných čtverců
Vytvořte matici NxN jednotných čtverců

Chcete -li začít s kódem, zvolíme N, který určí rozměry naší sítě (NxN). Hodnotu N lze podle potřeby ručně změnit a změnit tak rozměry sítě. V tomto případě N = 8, takže máme síť bodů 8x8. Poté, co vygenerujeme matici, spojíme všechny body v matici, které mají délku 1 jednotku, pomocí vzorce vzdálenosti, vzdálenost = sqrt ((x2-x1)^2+(y2-y1)^2). Tím získáme sítě čtverců, které jsou rovnoměrně rozloženy o 1 jednotku. To lze vidět na obrázku 101.

Krok 2: Randomizace sítě

Randomizace sítě
Randomizace sítě
Randomizace sítě
Randomizace sítě

V tomto kroku chceme randomizovat všechna umístění bodů kromě vnějších bodů, které budou tvořit naši hranici. K tomu nejprve najdeme všechny maticové souřadnice, které se rovnají 0 nebo N. Tyto body jsou těmi, které tvoří hranici. U neohraničných bodů je umístění randomizováno přidáním jiné náhodné hodnoty od -5 do 0,5 do obou poloh x a y. Vynesený náhodný obrázek lze vidět na obrázku 1.

Krok 3: Získejte nové vzdálenosti

Získejte nové vzdálenosti
Získejte nové vzdálenosti

Jakmile je vytvořena naše randomizovaná síť, znovu najdeme vzdálenost mezi spojenými body pomocí vzorce vzdálenosti.

Krok 4: Vyberte bod a porovnejte vzdálenost od tohoto bodu k ostatním

Vyberte bod a porovnejte vzdálenost od tohoto bodu k ostatním
Vyberte bod a porovnejte vzdálenost od tohoto bodu k ostatním
Vyberte bod a porovnejte vzdálenost od tohoto bodu k ostatním
Vyberte bod a porovnejte vzdálenost od tohoto bodu k ostatním
Vyberte bod a porovnejte vzdálenost od tohoto bodu k ostatním
Vyberte bod a porovnejte vzdálenost od tohoto bodu k ostatním

V tomto kroku můžeme pomocí kurzoru vybrat bod zájmu, jak ukazuje obrázek 2. Kurzor nemusíte přesouvat přesně na bod, protože kód jej upraví na nejbližší bod připojení. Za tímto účelem nejprve vypočítáme vzdálenost mezi všemi spojenými body a bodem, který jsme právě vybrali. Poté, co jsou vypočítány všechny vzdálenosti, vybereme bod s nejmenší vzdáleností od vybraného bodu, aby se stal skutečným vybraným bodem.

Krok 5: Přesuňte se do nového bodu

Přesunout do nového bodu
Přesunout do nového bodu
Přesunout do nového bodu
Přesunout do nového bodu
Přesunout do nového bodu
Přesunout do nového bodu

V tomto kroku pomocí bodu, který byl vybrán v předchozím kroku, přesuneme bod na nové místo. Tento pohyb se provádí výběrem nové pozice kurzorem, který nahradí předchozí pozici. Tento pohyb bude použit k simulaci vyvíjené síly v důsledku změny délky pružiny. Na modrém obrázku je vybráno nové umístění. Na dalším obrázku lze pohyb zobrazit pomocí oranžových spojení, což jsou nová umístění, na rozdíl od modrých spojení, která byla stará umístění.

Krok 6: Síla = vzdálenost K*

Síla = vzdálenost K*
Síla = vzdálenost K*

V tomto kroku použijeme sílu rovnice = k*vzdálenost, kde k je pro kolagenová vlákna konstanta 10. Protože vláknová síť začíná ve svém rovnovážném stavu, je čistá síla 0. Vytvoříme nulový vektor o délce matice, kterou jsme vygenerovali dříve, abychom reprezentovali tuto rovnováhu.

Krok 7: Změňte pohyb v síti kvůli přesunutému bodu

Změnit pohyb v síti kvůli přesunutému bodu
Změnit pohyb v síti kvůli přesunutému bodu
Změnit pohyb v síti kvůli přesunutému bodu
Změnit pohyb v síti kvůli přesunutému bodu
Změnit pohyb v síti kvůli přesunutému bodu
Změnit pohyb v síti kvůli přesunutému bodu
Změnit pohyb v síti kvůli přesunutému bodu
Změnit pohyb v síti kvůli přesunutému bodu

V tomto kroku simulujeme pohyb sítě v reakci na pohyb bodu, abychom se vrátili do rovnovážného stavu. Začneme tím, že najdeme nové vzdálenosti mezi dvěma body. Díky tomu můžeme najít změnu délky vlákna pohledem na rozdíl mezi starou a novou vzdáleností. Můžeme také vidět, které body se přesunuly, a také body, se kterými jsou spojeny, porovnáním nového a starého umístění bodu. To nám umožňuje vidět, které body by se měly pohybovat v reakci na vyvíjenou sílu. Směr pohybu lze rozdělit na jeho složky x a y, což dává 2D směrový vektor. Pomocí hodnoty k, změny vzdálenosti a vektoru směru můžeme vypočítat vektor síly, který lze použít k pohybu našich bodů směrem k rovnováze. Tuto část kódu spustíme 100krát, pokaždé se pohybujeme v přírůstcích Force*.1. Spuštění kódu 100krát nám umožňuje nakonec dosáhnout opět rovnováhy a dodržováním okrajových podmínek vidíme změnu v síti namísto jednoduše celou směnu. Pohyb sítě je vidět na obrázku 3, přičemž žlutá je přesunutá pozice a modrá předchozí.

Krok 8: Hotový kód

V této části je připojena kopie našeho kódu. Nebojte se jej upravit tak, aby vyhovoval vašim potřebám, pomocí modelování různých sítí!

Doporučuje: