Визуализация движения человека.

Делись идеей, получай поддержку и критику!
Ответить
Crownear
interested
interested
Сообщения: 4
Зарегистрирован: 15 июл 2019, 16:36
Версия LabVIEW: 2018
Контактная информация:

Визуализация движения человека.

Сообщение Crownear »

Необходимо создать программу, которая на основе данных с датчиков, размещенных на теле человека, влияет на 3д модель на экране. (модель должна в точности повторять движение исследуемого тела).
На пациента (предположим, во время реабилитации после перелома ног) вешаются измерительные модули угловых и линейных перемещений. Те какое-то время записывают данные, потом отправляют их все вместе на ПК. Тут моя программа должна эти данные загрузить и симулировать передвижение пацента на компе, чтобы было видно дефекты походки/осанки/т.п. Вот такие дела.
На данный момент есть скелет ноги, сделанный из геометрических фигур, с возможностью сгибать его в "колене" и "голеностопе" с помощью крутилок на внешней панели. Сделано очень громоздко и если честно я не представляю, как работать дальше, т.к. для меня это, считай, дремучий лес.
Сделать удалось из программы, которая есть в разделе "help", она симулирует вращение Земли вокруг Солнца. Её я не могу прикрепить, случайно удалил. Но если что она есть у всех в LV, насколько я понимаю)
Собсна, необходимо:
1) Доделать модель, каким-то образом соединив части тела воедино
2) Реализовать на входе получение данных и обеспечить их влияние на модель
3) По возможности реализовать возможность загрузить модель части тела человека, сделанную в 3Ds Max (просто загрузить STL файл вместо фигур не получилось)
Прикладываю то, что есть. Заранее спасибо. :help:
Вложения
сгибание.vi
Сохранил для 16 версии ЛВ.
(33.69 КБ) 234 скачивания
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Визуализация движения человека.

Сообщение Artem.spb »

Это ещё НЕ громоздко :)
Подход верный - "запчасти" добавляются снизу вверх, соединяясь в части тела. Точно так же для рук. Ну и тело, в зависимости от того, как оно нарисовано.
По-другому не получится, придётся каждую "кость" отдельно перемещать, или поблочно, но если нужна натуралистичность, то придётся иметь дело с большим количеством деталей.

В чём проблема загрузки stl?
Crownear
interested
interested
Сообщения: 4
Зарегистрирован: 15 июл 2019, 16:36
Версия LabVIEW: 2018
Контактная информация:

Re: Визуализация движения человека.

Сообщение Crownear »

Artem.spb писал(а):Это ещё НЕ громоздко :)
Подход верный - "запчасти" добавляются снизу вверх, соединяясь в части тела. Точно так же для рук. Ну и тело, в зависимости от того, как оно нарисовано.
По-другому не получится, придётся каждую "кость" отдельно перемещать, или поблочно, но если нужна натуралистичность, то придётся иметь дело с большим количеством деталей.

В чём проблема загрузки stl?
С STL проблема следующая: когда только начал работать в лабвью загружал чисто для проверки простенькую модель и камера была как бы очень сильно приближена к телу, приходилось масштабировать, но в целом без проблем. А вот в программе с человечком при замене фигуры на импорт стл файла в сцене его просто нет - то ли не загрузился, то ли очень маленький он и не видать, загадка. И что с этим делать я не имею понятия, как менять размеры загруженной модели (и можно ли) непосредственно в LV я не нашел.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Визуализация движения человека.

Сообщение Artem.spb »

Попробуйте автофокус
Если функции чтения не выдают ошибок, то модели скорее всего загружены, и их просто не видно в кадре. У меня такое часто бывало
Crownear
interested
interested
Сообщения: 4
Зарегистрирован: 15 июл 2019, 16:36
Версия LabVIEW: 2018
Контактная информация:

Re: Визуализация движения человека.

Сообщение Crownear »

Спасибо, попробую) Еще вспомнил одну вещь, по поводу добавления "дочерних" объектов. Можно ли их двигать относительно осей так, чтобы они сохраняли привязку к предыдущему объекту, но в другом месте? Даже не знаю, как объяснить. Пример - ступня, она встала так, что центр "кирпичика" пронизывается осью предыдущего объекта (голени). А хотелось бы, чтоб было похоже на человеческую ногу, т.е. этот кирпичик хочется сдвинуть линейно вперед, образовывая не букву Т, а букву Г.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Визуализация движения человека.

Сообщение Borjomy_1 »

Посмотрите, как эта задача (построения объекта) решается в системах 3D моделирования, например Solidworks, Inventor и т.п, обратите внимание на методы привязки. Возможно, не придется изобретать велосипед...
С импортом может быть засада в единицах. Т.е вы вроде рисуете в метровой сетке, а импортируется он в миллиметровой. Естественно, объект в тысячу раз меньше и поди его найди. И наоборот
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Визуализация движения человека.

Сообщение Artem.spb »

Ходят слухи, что задачи вращения легко решаются через кватернионы, но тайна сия мне пока не поддалась, поэтому я решаю подобные задачи немного криво.

в.1 сдвинуть всё в 0, повернуть, потом сдвинуть в нужное место.

в.2 сделать составной объект, часть которого и будет иметь начало координат в нужной точке (точке вращения)
как-то так
foot.png
f1.PNG
f2.PNG
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Визуализация движения человека.

Сообщение Borjomy_1 »

Альтернативное решение задачи вращения - вычисление через углы Эйлера. 3D Cartesian Coordinate Rotation (Euler).VI в палитре геометрии. Но есть нюанс: результат вычисления зависит от порядка расчета вращения по осям.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Визуализация движения человека.

Сообщение Artem.spb »

Альтернативное решение задачи вращения - вычисление через углы Эйлера.
мои муки творчества с углами описаны тут.
Crownear
interested
interested
Сообщения: 4
Зарегистрирован: 15 июл 2019, 16:36
Версия LabVIEW: 2018
Контактная информация:

Re: Визуализация движения человека.

Сообщение Crownear »

Спасибо всем большое, буду пробовать)
Ответить

Вернуться в «Проекты»