Spisu treści:

Pomiar zmian siły generowanej sieci światłowodowej po przemieszczeniu siłą zewnętrzną: 8 kroków
Pomiar zmian siły generowanej sieci światłowodowej po przemieszczeniu siłą zewnętrzną: 8 kroków

Wideo: Pomiar zmian siły generowanej sieci światłowodowej po przemieszczeniu siłą zewnętrzną: 8 kroków

Wideo: Pomiar zmian siły generowanej sieci światłowodowej po przemieszczeniu siłą zewnętrzną: 8 kroków
Wideo: Masz ROUTER WiFi? Zmień te ustawienia! 2024, Listopad
Anonim
Pomiar zmian siły generowanej sieci światłowodowej po przemieszczeniu siłą zewnętrzną
Pomiar zmian siły generowanej sieci światłowodowej po przemieszczeniu siłą zewnętrzną

Komórki są zdolne do interakcji z otaczającą ją macierzą zewnątrzkomórkową (ECM) i mogą zarówno aplikować, jak i reagować na siły wywierane przez ECM. W naszym projekcie symulujemy połączoną sieć włókien, która pełniłaby rolę ECM i obserwujemy, jak sieć zmienia się w odpowiedzi na ruch jednego z punktów. ECM jest modelowany jako połączony system sprężyn, które są początkowo w równowadze z siłą netto zerową. Ponieważ siła jest przyłożona do sieci w odpowiedzi na ruch punktu, staramy się, aby połączone punkty reagowały na siłę w taki sposób, aby próbowały powrócić do równowagi. Siła jest monitorowana za pomocą równania F=k*x, gdzie k jest stałą sprężyny, a x jest zmianą długości włókna. Symulacja ta może pomóc w ogólnym zrozumieniu propagacji sił w sieciach włóknistych, które ostatecznie można wykorzystać do symulacji mechanotransdukcji.

Krok 1: Wygeneruj macierz NxN równych kwadratów

Wygeneruj macierz NxN równych kwadratów
Wygeneruj macierz NxN równych kwadratów
Wygeneruj macierz NxN równych kwadratów
Wygeneruj macierz NxN równych kwadratów

Aby rozpocząć kod, wybieramy N, który określi wymiary naszej sieci (NxN). Wartość N można zmienić ręcznie, aby w razie potrzeby zmienić wymiary sieci. W tym przykładzie N=8, więc mamy sieć punktów 8x8. Po wygenerowaniu macierzy łączymy wszystkie punkty w macierzy o długości 1 jednostki, korzystając ze wzoru na odległość, odległość = sqrt((x2-x1)^2+(y2-y1)^2). Robiąc to, otrzymujemy sieć kwadratów, które są równomiernie rozmieszczone o 1 jednostkę. Widać to na rysunku 101.

Krok 2: Randomizacja sieci

Losowanie sieci
Losowanie sieci
Losowanie sieci
Losowanie sieci

W tym kroku chcemy losować wszystkie lokalizacje punktów z wyjątkiem punktów zewnętrznych, które będą tworzyć naszą granicę. Aby to zrobić, najpierw znajdujemy wszystkie współrzędne macierzy, które są równe 0 lub N. Te punkty to te, które tworzą granicę. W przypadku punktów niegranicznych położenie jest losowane przez dodanie innej losowej wartości od -0,5 do 0,5 zarówno do pozycji x, jak i y. Wykreślony randomizowany obraz można zobaczyć na rycinie 1.

Krok 3: Uzyskaj nowe odległości

Uzyskaj nowe odległości
Uzyskaj nowe odległości

Po utworzeniu naszej randomizowanej sieci ponownie obliczamy odległość między połączonymi punktami za pomocą wzoru odległości.

Krok 4: Wybierz punkt i porównaj odległość od tego punktu do innych

Wybierz punkt i porównaj odległość od tego punktu do innych
Wybierz punkt i porównaj odległość od tego punktu do innych
Wybierz punkt i porównaj odległość od tego punktu do innych
Wybierz punkt i porównaj odległość od tego punktu do innych
Wybierz punkt i porównaj odległość od tego punktu do innych
Wybierz punkt i porównaj odległość od tego punktu do innych

W tym kroku możemy wybrać interesujący punkt za pomocą kursora, jak pokazano na rysunku 2. Nie musisz przesuwać kursora dokładnie na punkt, ponieważ kod dopasuje go do najbliższego punktu połączenia. Aby to zrobić, najpierw obliczamy odległość między wszystkimi połączonymi punktami a właśnie wybranym punktem. Po obliczeniu wszystkich odległości wybieramy punkt o najmniejszej odległości od wybranego punktu, aby stał się faktycznie wybranym punktem.

Krok 5: Przejdź do nowego punktu

Przejdź do nowego punktu
Przejdź do nowego punktu
Przejdź do nowego punktu
Przejdź do nowego punktu
Przejdź do nowego punktu
Przejdź do nowego punktu

W tym kroku, korzystając z punktu, który został wybrany w poprzednim kroku, przenosimy punkt w nowe miejsce. Ten ruch jest wykonywany poprzez wybranie nowej pozycji kursorem, która zastąpi poprzednią pozycję. Ten ruch zostanie wykorzystany do symulacji wywieranej siły spowodowanej zmianą długości sprężyny. Na całej niebieskiej figurce wybierana jest nowa lokalizacja. Na następnym rysunku ruch można zwizualizować za pomocą pomarańczowych połączeń, które są nowymi lokalizacjami, w przeciwieństwie do niebieskich połączeń, które były starymi lokalizacjami.

Krok 6: Siła = K*odległość

Siła = K*odległość
Siła = K*odległość

W tym kroku stosujemy równanie siła=k*odległość, gdzie k jest stałą 10 dla włókien kolagenowych. Ponieważ sieć światłowodowa zaczyna się w stanie równowagi, siła wypadkowa wynosi 0. Tworzymy wektor zerowy długości macierzy, którą wygenerowaliśmy wcześniej, aby reprezentować tę równowagę.

Krok 7: Zmień ruch sieci ze względu na przeniesiony punkt

Zmień ruch sieci ze względu na przeniesiony punkt
Zmień ruch sieci ze względu na przeniesiony punkt
Zmień ruch sieci ze względu na przeniesiony punkt
Zmień ruch sieci ze względu na przeniesiony punkt
Zmień ruch sieci ze względu na przeniesiony punkt
Zmień ruch sieci ze względu na przeniesiony punkt
Zmień ruch sieci ze względu na przeniesiony punkt
Zmień ruch sieci ze względu na przeniesiony punkt

W tym kroku symulujemy ruch sieci w odpowiedzi na ruch punktu w celu powrotu do stanu równowagi. Zaczynamy od znalezienia nowych odległości między dwoma punktami. Dzięki temu możemy znaleźć zmianę długości włókna, patrząc na różnicę między starą i nową odległością. Możemy również zobaczyć, które punkty się przesunęły, a także punkty, z którymi są połączone, porównując nowe i stare lokalizacje punktów. To pozwala nam zobaczyć, które punkty powinny się poruszać w odpowiedzi na przyłożoną siłę. Kierunek ruchu można podzielić na jego składowe x i y, dając wektor kierunku 2D. Używając wartości k, zmiany odległości i wektora kierunku, możemy obliczyć wektor siły, który może być użyty do przesunięcia naszych punktów w kierunku równowagi. Uruchamiamy tę sekcję kodu 100 razy, za każdym razem przesuwając się w przyrostach Force*.1. Uruchomienie kodu 100 razy pozwala nam w końcu ponownie osiągnąć równowagę i utrzymując warunki brzegowe, widzimy zmianę w sieci zamiast po prostu całą zmianę. Ruch sieciowy można zobaczyć na rysunku 3, gdzie żółta to przesunięte pozycje, a niebieska to poprzednie.

Krok 8: Gotowy kod

W tej sekcji dołączona jest kopia naszego kodu. Zapraszam do modyfikowania go, aby dopasować go do swoich potrzeb, modelując różne sieci!

Zalecana: