Визуализация движения человека.
-
- interested
- Сообщения: 4
- Зарегистрирован: 15 июл 2019, 16:36
- Версия LabVIEW: 2018
- Контактная информация:
Визуализация движения человека.
Необходимо создать программу, которая на основе данных с датчиков, размещенных на теле человека, влияет на 3д модель на экране. (модель должна в точности повторять движение исследуемого тела).
На пациента (предположим, во время реабилитации после перелома ног) вешаются измерительные модули угловых и линейных перемещений. Те какое-то время записывают данные, потом отправляют их все вместе на ПК. Тут моя программа должна эти данные загрузить и симулировать передвижение пацента на компе, чтобы было видно дефекты походки/осанки/т.п. Вот такие дела.
На данный момент есть скелет ноги, сделанный из геометрических фигур, с возможностью сгибать его в "колене" и "голеностопе" с помощью крутилок на внешней панели. Сделано очень громоздко и если честно я не представляю, как работать дальше, т.к. для меня это, считай, дремучий лес.
Сделать удалось из программы, которая есть в разделе "help", она симулирует вращение Земли вокруг Солнца. Её я не могу прикрепить, случайно удалил. Но если что она есть у всех в LV, насколько я понимаю)
Собсна, необходимо:
1) Доделать модель, каким-то образом соединив части тела воедино
2) Реализовать на входе получение данных и обеспечить их влияние на модель
3) По возможности реализовать возможность загрузить модель части тела человека, сделанную в 3Ds Max (просто загрузить STL файл вместо фигур не получилось)
Прикладываю то, что есть. Заранее спасибо.
На пациента (предположим, во время реабилитации после перелома ног) вешаются измерительные модули угловых и линейных перемещений. Те какое-то время записывают данные, потом отправляют их все вместе на ПК. Тут моя программа должна эти данные загрузить и симулировать передвижение пацента на компе, чтобы было видно дефекты походки/осанки/т.п. Вот такие дела.
На данный момент есть скелет ноги, сделанный из геометрических фигур, с возможностью сгибать его в "колене" и "голеностопе" с помощью крутилок на внешней панели. Сделано очень громоздко и если честно я не представляю, как работать дальше, т.к. для меня это, считай, дремучий лес.
Сделать удалось из программы, которая есть в разделе "help", она симулирует вращение Земли вокруг Солнца. Её я не могу прикрепить, случайно удалил. Но если что она есть у всех в LV, насколько я понимаю)
Собсна, необходимо:
1) Доделать модель, каким-то образом соединив части тела воедино
2) Реализовать на входе получение данных и обеспечить их влияние на модель
3) По возможности реализовать возможность загрузить модель части тела человека, сделанную в 3Ds Max (просто загрузить STL файл вместо фигур не получилось)
Прикладываю то, что есть. Заранее спасибо.
- Вложения
-
- сгибание.vi
- Сохранил для 16 версии ЛВ.
- (33.69 КБ) 235 скачиваний
-
- professor
- Сообщения: 3394
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Визуализация движения человека.
Это ещё НЕ громоздко :)
Подход верный - "запчасти" добавляются снизу вверх, соединяясь в части тела. Точно так же для рук. Ну и тело, в зависимости от того, как оно нарисовано.
По-другому не получится, придётся каждую "кость" отдельно перемещать, или поблочно, но если нужна натуралистичность, то придётся иметь дело с большим количеством деталей.
В чём проблема загрузки stl?
Подход верный - "запчасти" добавляются снизу вверх, соединяясь в части тела. Точно так же для рук. Ну и тело, в зависимости от того, как оно нарисовано.
По-другому не получится, придётся каждую "кость" отдельно перемещать, или поблочно, но если нужна натуралистичность, то придётся иметь дело с большим количеством деталей.
В чём проблема загрузки stl?
-
- interested
- Сообщения: 4
- Зарегистрирован: 15 июл 2019, 16:36
- Версия LabVIEW: 2018
- Контактная информация:
Re: Визуализация движения человека.
С STL проблема следующая: когда только начал работать в лабвью загружал чисто для проверки простенькую модель и камера была как бы очень сильно приближена к телу, приходилось масштабировать, но в целом без проблем. А вот в программе с человечком при замене фигуры на импорт стл файла в сцене его просто нет - то ли не загрузился, то ли очень маленький он и не видать, загадка. И что с этим делать я не имею понятия, как менять размеры загруженной модели (и можно ли) непосредственно в LV я не нашел.Artem.spb писал(а):Это ещё НЕ громоздко :)
Подход верный - "запчасти" добавляются снизу вверх, соединяясь в части тела. Точно так же для рук. Ну и тело, в зависимости от того, как оно нарисовано.
По-другому не получится, придётся каждую "кость" отдельно перемещать, или поблочно, но если нужна натуралистичность, то придётся иметь дело с большим количеством деталей.
В чём проблема загрузки stl?
-
- professor
- Сообщения: 3394
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Визуализация движения человека.
Попробуйте автофокус
Если функции чтения не выдают ошибок, то модели скорее всего загружены, и их просто не видно в кадре. У меня такое часто бывало
Если функции чтения не выдают ошибок, то модели скорее всего загружены, и их просто не видно в кадре. У меня такое часто бывало
-
- interested
- Сообщения: 4
- Зарегистрирован: 15 июл 2019, 16:36
- Версия LabVIEW: 2018
- Контактная информация:
Re: Визуализация движения человека.
Спасибо, попробую) Еще вспомнил одну вещь, по поводу добавления "дочерних" объектов. Можно ли их двигать относительно осей так, чтобы они сохраняли привязку к предыдущему объекту, но в другом месте? Даже не знаю, как объяснить. Пример - ступня, она встала так, что центр "кирпичика" пронизывается осью предыдущего объекта (голени). А хотелось бы, чтоб было похоже на человеческую ногу, т.е. этот кирпичик хочется сдвинуть линейно вперед, образовывая не букву Т, а букву Г.
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: Визуализация движения человека.
Посмотрите, как эта задача (построения объекта) решается в системах 3D моделирования, например Solidworks, Inventor и т.п, обратите внимание на методы привязки. Возможно, не придется изобретать велосипед...
С импортом может быть засада в единицах. Т.е вы вроде рисуете в метровой сетке, а импортируется он в миллиметровой. Естественно, объект в тысячу раз меньше и поди его найди. И наоборот
С импортом может быть засада в единицах. Т.е вы вроде рисуете в метровой сетке, а импортируется он в миллиметровой. Естественно, объект в тысячу раз меньше и поди его найди. И наоборот
-
- professor
- Сообщения: 3394
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Визуализация движения человека.
Ходят слухи, что задачи вращения легко решаются через кватернионы, но тайна сия мне пока не поддалась, поэтому я решаю подобные задачи немного криво.
в.1 сдвинуть всё в 0, повернуть, потом сдвинуть в нужное место.
в.2 сделать составной объект, часть которого и будет иметь начало координат в нужной точке (точке вращения)
как-то так
в.1 сдвинуть всё в 0, повернуть, потом сдвинуть в нужное место.
в.2 сделать составной объект, часть которого и будет иметь начало координат в нужной точке (точке вращения)
как-то так
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: Визуализация движения человека.
Альтернативное решение задачи вращения - вычисление через углы Эйлера. 3D Cartesian Coordinate Rotation (Euler).VI в палитре геометрии. Но есть нюанс: результат вычисления зависит от порядка расчета вращения по осям.
-
- professor
- Сообщения: 3394
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Визуализация движения человека.
мои муки творчества с углами описаны тут.Альтернативное решение задачи вращения - вычисление через углы Эйлера.