В настоящее время, если я хочу сравнить давление под каждой лапой собаки, я сравниваю только давление под каждым пальцем ноги. Но я хочу попробовать сравнить давление под всей лапой.
Но для этого мне нужно повернуть их, чтобы пальцы ног перекрывались (лучше). Потому что в большинстве случаев левая и правая лапы слегка повернуты наружу, так что если вы не можете просто проецировать одну поверх другой. Поэтому я хочу повернуть лапы, чтобы все они были выровнены одинаково.
В настоящее время я вычисляю угол поворота, просматривая два средних пальца и задний , используя обнаружение пальца , затем вычисляю угол между желтой линией (ось между пальцем зеленого и красного цвета). ) и зеленая линия (нейтральная ось).
Теперь я хочу повернуть массив, который будет вращаться вокруг заднего пальца, так, чтобы желтая и зеленая линии были выровнены. Но как мне это сделать?
Обратите внимание, что хотя это изображение только 2D (только максимальные значения каждого датчика), я хочу рассчитать его для трехмерного массива (в среднем 10x10x50). Недостатком моего вычисления угла также является то, что он очень чувствителен к обнаружению пальцев, поэтому, если у кого-то есть более математически правильное предложение для расчета этого, я весь слух.
Я видел одно исследование с измерениями давления на людях , где они использовали метод локальной геометрической инерциальной оси, который, по крайней мере, был очень надежным. Но это все еще не помогает мне объяснить, как вращать массив!
Если кто-то чувствует необходимость в эксперименте, вот файл с всеми нарезанными массивами, которые содержат данные о давлении каждой лапы . Для пояснения: walk_sliced_data - это словарь, который содержит ['ser_3', 'ser_2', 'sel_1', 'sel_2', 'ser_1', 'sel_3'], которые являются названиями измерений. Каждое измерение содержит другой словарь, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] (пример из «sel_1»), который представляет воздействия, которые были извлечены.