Оглавление:
- Шаг 1. Создайте матрицу равномерных квадратов NxN
- Шаг 2: рандомизация сети
- Шаг 3. Получите новые расстояния
- Шаг 4. Выберите точку и сравните расстояние от этой точки до других
- Шаг 5: перейти к новой точке
- Шаг 6: Сила = K * расстояние
- Шаг 7: Измените движение сети из-за перемещенной точки
- Шаг 8: Готовый код
Видео: Измерение изменений силы созданной оптоволоконной сети при смещении под действием внешней силы: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Клетки способны взаимодействовать с окружающим их внеклеточным матриксом (ЕСМ) и могут как действовать, так и отвечать на силы, оказываемые ЕСМ. Для нашего проекта мы моделируем взаимосвязанную сеть волокон, которые будут действовать как ECM, и видим, как сеть изменяется в ответ на движение одной из точек. ЕСМ моделируется как взаимосвязанная система пружин, которые изначально находятся в равновесии с нулевым результирующим усилием. Поскольку сила применяется к сети в ответ на движение точки, мы пытаемся заставить соединенные точки реагировать на силу таким образом, чтобы они пытались вернуться к равновесию. Сила контролируется уравнением F = k * x, где k - жесткость пружины, а x - изменение длины волокна. Это моделирование может помочь дать общее представление о распространении силы в волокнистых сетях, что в конечном итоге может быть использовано для моделирования механотрансдукции.
Шаг 1. Создайте матрицу равномерных квадратов NxN
Чтобы начать код, мы выбираем N, которое будет определять размеры нашей сети (NxN). Значение N можно изменить вручную, чтобы при необходимости изменить размеры сети. В этом примере N = 8, поэтому у нас есть сеть точек 8x8. После того, как мы сгенерировали матрицу, мы соединяем все точки в матрице, которые имеют длину 1 единицу, используя формулу расстояния, Distance = sqrt ((x2-x1) ^ 2 + (y2-y1) ^ 2). Делая это, мы получаем сеть квадратов, которые все равно разнесены на 1 единицу. Это можно увидеть на рисунке 101.
Шаг 2: рандомизация сети
На этом этапе мы хотим случайным образом расположить все точки, кроме внешних точек, которые будут формировать нашу границу. Для этого мы сначала находим все координаты матрицы, которые равны 0 или N. Эти точки и составляют границу. Для неграничных точек расположение рандомизируется путем добавления другого случайного значения от -,5 до 0,5 к позициям x и y. Построенное рандомизированное изображение можно увидеть на рисунке 1.
Шаг 3. Получите новые расстояния
Как только наша рандомизированная сеть создана, мы снова находим расстояние между соединенными точками, используя формулу расстояния.
Шаг 4. Выберите точку и сравните расстояние от этой точки до других
На этом шаге мы можем выбрать интересующую точку с помощью курсора, как показано на рисунке 2. Вам не нужно перемещать курсор точно на точку, потому что код настроит его на ближайшую точку соединения. Для этого мы сначала вычисляем расстояние между всеми подключенными точками и точкой, которую мы только что выбрали. После того, как все расстояния рассчитаны, мы выбираем точку с наименьшим расстоянием от выбранной точки, чтобы стать фактической выбранной точкой.
Шаг 5: перейти к новой точке
На этом шаге, используя точку, выбранную на предыдущем шаге, мы перемещаем точку в новое место. Это перемещение выполняется путем выбора новой позиции курсором, которая заменит предыдущую позицию. Это движение будет использоваться для имитации силы, действующей из-за изменения длины пружины. На полностью синем рисунке выбирается новое местоположение. На следующем рисунке движение можно визуализировать с помощью оранжевых соединений, которые представляют собой новые местоположения, в отличие от синих соединений, которые были старыми местоположениями.
Шаг 6: Сила = K * расстояние
На этом этапе мы применяем уравнение сила = k * расстояние, где k - константа 10 для коллагеновых волокон. Поскольку волоконная сеть начинается в состоянии равновесия, результирующая сила равна 0. Мы создаем нулевой вектор длины матрицы, которую мы сгенерировали ранее, чтобы представить это равновесие.
Шаг 7: Измените движение сети из-за перемещенной точки
На этом этапе мы моделируем движение сети в ответ на движение точки, чтобы вернуться в состояние равновесия. Начнем с нахождения новых расстояний между двумя точками. Таким образом, мы можем определить изменение длины волокна, посмотрев на разницу между старым и новым расстоянием. Мы также можем увидеть, какие точки переместились, а также точки, с которыми они связаны, сравнив новые и старые местоположения точек. Это позволяет нам увидеть, какие точки должны двигаться в ответ на приложенную силу. Направление движения может быть разбито на его компоненты x и y, что дает двумерный вектор направления. Используя значение k, изменение расстояния и вектор направления, мы можем вычислить вектор силы, который можно использовать для перемещения наших точек к равновесию. Мы запускаем этот раздел кода 100 раз, каждый раз двигаясь с шагом Force *.1. Выполнение кода 100 раз позволяет нам в конечном итоге снова достичь равновесия, и, сохраняя граничные условия, мы видим изменение в сети, а не просто полный сдвиг. Движение сети можно увидеть на Рисунке 3, где желтым цветом обозначены перемещенные позиции, а синим - предыдущие.
Шаг 8: Готовый код
В этом разделе прилагается копия нашего кода. Не стесняйтесь изменять его в соответствии с вашими потребностями, моделируя различные сети!
Рекомендуемые:
Пульт дистанционного управления с внешней ночной лампой с RGB-подсветкой 10 Вт: 5 шагов
Пульт дистанционного управления внешней ночной лампой с RGB-подсветкой 10 Вт: этот проект представляет собой светодиодную лампу RGB мощностью 10 Вт для ночного освещения, ее можно разместить рядом с вами и обеспечить вам многочасовое освещение для настроения. Меня вдохновила лампа Balad Lamp, представленная во Франции, но немного мощная (коммерческая версия около 3 Вт, моя 10 Вт) и многое другое
Ультразвуковой датчик для регистрации изменений положения объектов: 3 шага
Ультразвуковой датчик для фиксации позиционных изменений объектов: важно сохранить ваши ценные вещи в безопасности, они будут хромыми, если вы будете охранять свой замок весь день. Используя камеру raspberry pi, вы можете делать снимки в нужный момент. Это руководство поможет вам снять видео или сделать фото
Измерение частоты сети с помощью Arduino: 7 шагов (с изображениями)
Измерьте частоту сети с помощью Arduino: 3 апреля премьер-министр Индии г-н Шри. Нарендра Моди призвал индийцев выключить свет и зажечь лампу (Дия) в 21:00 5 апреля, чтобы отметить борьбу Индии с вирусом короны. Сразу после объявления царил хаос
ESP32 с внешней антенной для дальней связи: 10 шагов
ESP32 с внешней антенной на дальние расстояния: сегодняшняя тема касается теста на расстояние с ESP32 с внешней антенной. Воспользуемся сегодня двумя модулями: от Espressif и TTGO. Затем давайте проверим RSSI между этими двумя антеннами ESP32, сгенерируем график из истории и запишем журнал v
Воспроизведение Mp3 на 70-летнем рекорд-плеере - без постоянных изменений: 3 шага
Воспроизведение Mp3 на плеере 70-летней давности - без постоянных изменений: в основном я установил монофоническое соединение между MP3 или медиаисточником по вашему выбору, вашим компьютером, кассетой, рацией и напрямую подключил его к сети. к динамику через зажимы типа «крокодил». Как всегда, обучающее / демонстрационное видео: ПОЖАЛУЙСТА, если