Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*> положим time_resol = 4 мс
- > Допустим, в Вашей модели шаг по времени dt мкс
- Положим freq = 4000 мкс / dt. То есть freq - сколько шагов по времени укладывается в time_resol 4мс.
- > Допустим, x_start - координата начала подложки, dx_to_stable = 3мкм , и вы считаете, что тромбоцит уже катится "стабильно", с постоянной средней за секунду скоростью, начиная с координаты x_crit = x_start = dx_to_stable (то, про что в п. 1 я писала)
- > пусть s - номер итерации по времени в Вашем коде
- > x_prev - координата на предыдущем кадре. Допустим, вы инициализировали ее отрицательным числом для начала
- > time_stops - список времен остановки - для начала он пустой
- > frames_stop - сколько кадров постоянная координата
- > x_resol = 0.2 мкм
- */
- if (s % freq == 0) { // т.е. каждую freq по счету итерацию
- if (x_platelet > x_crit) { // стационарное качение
- if (x_prev > 0 ) { // это не первый кадр
- if (abs(x - xprev) < x_resol) {// тромбоцит не катится
- frames_stop += 1; // увеличиваем число кадров, когда тромбоцит не движется
- } else { // тромбоцит катится
- if (frames_stop > 0) { // до этого тромбоцит стоял - надо запомнить время оставки
- time_stops.push_back(frames_stop * time_resol); // запомнили это время остановки
- frames_stop = 0; // "сбрасываем" кол--во кадров, ведь тромбоцит теперь катится
- }
- }
- }
- x_rev = x; // сохранили координату
- }
- }
- //А потом вне цикла по времени нужно посчитать среднее по time_stops
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement