Как использовать акселерометр, данные CMMotion, чтобы найти точку в трехмерном пространстве? - PullRequest
0 голосов
/ 23 февраля 2012

Я создаю приложение. В котором будет размещен iPhone (для него сделана отдельная крышка) с клюшкой для гольфа (ракеткой). Я хочу получить массив точек, в которых указан путь движения ракетки.

Например, я начинаю собирать данные, когда ракетка стоит на земле. После этого пользователь готовится к выстрелу. Таким образом, он отведет ракетку назад, а затем сделает удар, двигая ракетку вперед. Я хочу поймать все эти точки в 3D и нанести их на экран (2D проекция). Я видел много похожих вопросов, акселерометр, документы по структуре CMMotion. Но не смог найти способ сделать это.

Надеюсь, я правильно объяснил вопрос. Можете ли вы предложить мне формулу или как обработать данные для ее достижения?

Спасибо заранее.

Ответы [ 2 ]

1 голос
/ 24 февраля 2012

Я попробовал алгоритм объединения датчиков, разработанный Madgwick , но вывод на моем устройстве похож на вывод CoreMotion Attitude. У меня нет возможности проверить ориентационные выходы с другого iPhone, но в моем случае проблема в том, что это угол отклонения, даже если iphone зафиксирован на столе, угол отклонения, как правило, нестабилен, возможно, из-за четкое размещение чипа по оси z гироскопа .

1 голос
/ 23 февраля 2012

Вы не можете отследить эти движения в трехмерном пространстве.

Но вы можете отслеживать ориентацию ракетки, и это должно работать хорошо.

Я реализовал алгоритм объединения сенсоров для платформы Shimmer , а не тривиальная задача. Я бы использовал Core Motion и не пытался бы создать свой собственный алгоритм слияния сенсоров.

Надеюсь, это поможет, удачи!

...